我是Hadoop,HBase和Hive的新手。我以伪分布模式安装了Hadoop,HBase和Hive,一切正常。 现在我计划用Hive,HBase和ZooKeeper建立一个简单的Hadoop集群(5个节点)。我以前读过几份文件和说明,但我找不到对我的问题的好解释。我不确定,在哪里运行所有守护进程。这是我的考虑:
Node_1 (主)
ZooKeeper(独立节点;由HBase管理)
Node_2 (Backup_Master)
SecondaryNameNode
Node_3 (Slave1)
RegionServer1
Node_4 (Slave2)
RegionServer2
Node_5 (Slave3)
我知道,在生产中,建议在奇数个节点(单独的Cluster)上运行ZooKeeper集合。但是对于一个简单的集群,可以设置一个在主节点上运行的独立ZooKeeper节点吗?
另一个问题是关于Hive:我知道Hive是一个Hadoop客户端。我还应该在主节点上安装Hive吗?它有意义吗?
感谢所有提示和评论! 哈坎
注意:我只有5台机器来模拟集群。
答案 0 :(得分:0)
出于测试目的,我相信您可以在主节点上设置Zookeeper;我确实在同一台服务器上安装了所有这些服务器。
如果群集中有5台计算机,为什么在伪分布式模式下安装hadoop,我不明白你的问题?安装完全分布式模式可能更好。
对于配置单元,似乎必须使用hadoop安装它
Hive uses hadoop that means:
you must have hadoop in your path OR export HADOOP_HOME=<hadoop-install-dir>
答案 1 :(得分:0)
对于hive,似乎你必须用hadoop安装它 Hive使用hadoop意味着: 你必须在你的路径中有hadoop或导出HADOOP_HOME =
@iTech:没错。如果你安装了hive,你必须将变量“HADOOP_HOME”设置为你的hadoop安装路径。但这不是问题。正如我所说,我之前在伪分布式模式下使用Hadoop和Hive。
唯一的问题是,我不确定在完全分布式模式下在5节点集群中运行所有守护进程的位置。我很困惑,因为我想一起运行很多工具(Hadoop,HBase和Hive)
希望有人有好的建议......
答案 2 :(得分:0)
如果您计划将所描述的群集用于测试目的,则可以将所有主节点放在同一服务器上。此外,您可以将SecondaryNameNode角色移动到Node_1,因为SecondaryNameNode不是NameNode的备份服务器,它位于make checkpoints of your NameNode。因此,将Node_2用作群集中的另一个“工作”节点,或HiveServer2和Metastore是有意义的。
希望这会有所帮助。