4

我是 Hadoop、HBase 和 Hive 的新手。我以伪分布式模式安装了 Hadoop、HBase 和 Hive,一切正常。现在我打算用 Hive、HBase 和 ZooKeeper 建立一个简单的 Hadoop 集群(5 个节点)。我之前已经阅读了一些文档和说明,但我找不到我的问题的一个很好的解释。我不确定在哪里运行所有守护进程。这是我的考虑:

节点_1(主)

  • 名称节点

  • 作业追踪器

  • HBase 大师

  • ZooKeeper(独立节点;由 HBase 管理)


Node_2 (Backup_Master)

  • 次要名称节点


Node_3 (Slave1)

  • 数据节点1

  • 任务跟踪器1

  • 区域服务器1


Node_4 (Slave2)

  • 数据节点2

  • 任务跟踪器2

  • 区域服务器2


Node_5 (Slave3)

  • 数据节点3
  • 任务跟踪器3
  • 区域服务器3

我知道,在生产中,建议在奇数个节点(单独的集群)上运行 ZooKeeper 集成。但是对于一个简单的集群,是否可以设置一个独立的 ZooKeeper 节点运行在主节点上?

另一个问题是关于 Hive:我知道 Hive 是一个 Hadoop 客户端。我还应该在主节点上安装 Hive 吗?是否有意义?

感谢所有提示和评论!哈坎

注意:我只有 5 台机器来模拟集群。

4

3 回答 3

0

出于测试目的,我相信您可以在主节点上设置 Zookeeper;我确实将它们全部安装在同一台服务器上。

如果您的集群中有 5 台机器,为什么您在伪分布式模式下安装 hadoop?安装完全分布式模式可能会更好。

对于hive,看来你必须用hadoop安装它

Hive uses hadoop that means:

you must have hadoop in your path OR export HADOOP_HOME=<hadoop-install-dir>
于 2012-11-13T09:07:14.423 回答
0

如果您打算将所描述的集群用于测试目的,则可以将所有主节点放在同一台服务器上。您也可以将 SecondaryNameNode 角色移动到 Node_1,因为 SecondaryNameNode 不是 NameNode 的备份服务器,所以它可以为您的 NameNode 创建检查点。因此,将 Node_2 用作集群中的另一个“工作”节点或 HiveServer2 和元存储是有意义的。

希望这会有所帮助。

于 2015-02-23T06:31:14.403 回答
0

对于 hive,您似乎必须使用 hadoop 安装它 Hive 使用 hadoop 这意味着:您的路径中必须有 hadoop 或 export HADOOP_HOME=

@iTech:没错。如果您安装 hive,则必须将变量“HADOOP_HOME”设置为您的 hadoop 安装路径。但这不是问题..正如我所说,我以前在伪分布式模式下使用 Hadoop 和 Hive。

唯一的问题是,我不确定在 5 节点集群中以完全分布式模式运行所有守护程序的位置。我很困惑,因为我想一起运行很多工具(Hadoop、HBase 和 Hive)

希望有好心人指点...

于 2012-11-13T19:59:42.637 回答