2012-11-12 257 views
3

我是Hadoop,HBase和Hive的新手。我以僞分佈模式安裝Hadoop,HBase和Hive,一切正常。 現在我打算用Hive,HBase和ZooKeeper建立一個簡單的Hadoop集羣(5個節點)。我之前已經閱讀過幾份文件和說明,但我無法找到解決我的問題的好方法。我不確定,在哪裏運行所有的守護進程。這是我的考慮:配置Hadoop,HBase和Hive集羣

Node_1(主)

  • 的NameNode
  • JobTrakcer
  • HBase的主
  • 動物園管理員(獨立節點;通過HBase的管理)


Node_2(Backup_Master)

  • SecondaryNameNode


Node_3上(SLAVE1)

  • DataNode1
  • TaskTracker1
  • RegionServer1


Node_4上(SLAVE2)

  • DataNode2
  • 的TaskTracker 2
  • RegionServer2


Node_5上(Slave3)

  • DataNode3
  • TaskTracker3
  • RegionServer3


我知道,在生產中,建議在奇數節點(單獨的集羣)中運行的ZooKeeper合奏。但是對於一個簡單的集羣,可以設置一個在主節點上運行的獨立ZooKeeper節點嗎?

另一個問題是關於Hive:我知道Hive是一個Hadoop客戶端。我是否也應該在主節點上安裝Hive?是否有意義?

感謝您的所有提示和意見! Hakan

注:我只有5臺機器來模擬羣集。

+0

這與您的問題無關,但我想向您指出SecondaryNameNode是* not *備份NameNode。這是一個常見的錯誤,但這不是SecondaryNameNode的目的。如果你想簡單地備份,你應該考慮擁有一個被動/主動NameNode。來源:http://wiki.apache.org/hadoop/FAQ#What_is_the_purpose_of_the_secondary_name-node.3F –

+0

感謝您的提示埃裏克! **沒有人可以幫我解決我的問題嗎?這真的很緊急.. ** – user1818390

回答

0

出於測試目的,我相信你可以在主節點上設置Zookeeper;我確實將它們全部安裝在同一臺服務器上。

我不明白你的問題爲什麼你在僞分佈式模式下安裝hadoop如果你的集羣中有5臺機器?安裝完全分佈式模式可能會更好。

對於蜂巢,似乎你必須使用Hadoop

Hive uses hadoop that means: 

you must have hadoop in your path OR export HADOOP_HOME=<hadoop-install-dir> 
+0

感謝您的答覆!不是,首先以僞分佈式模式將Hadoop和所有其他項目安裝在一臺機器上(本地),並且工作正常。現在我正計劃用5臺機器以完全分佈模式安裝hadoop。因此,我的問題,至極機器啓動所有的守護進程..這是什麼意思,用hadoop安裝配置單元? Hive是Hadoop的Cient。在第一個Node(Master)上安裝Hive沒有意義嗎? – user1818390

+0

是的,我歷來在你的第一個節點上安裝了Hive。 –

0

對於蜂巢安裝它,看來,你必須使用Hadoop安裝 蜂巢使用Hadoop的,這意味着: 你必須有hadoop在你的路徑或出口HADOOP_HOME =

@iTech:是的。如果你安裝配置單元,你必須將變量「HADOOP_HOME」設置爲你的hadoop安裝路徑。但這不是問題。正如我所說的,我以前使用Hadoop和Hive以僞分佈模式工作。

唯一的問題是,我不確定在完全分佈式模式下運行5節點羣集中的所有守護進程的位置。 I'm困惑,因爲我想跑了很多工具一起(的Hadoop,HBase的和蜂巢)

希望有人有一個很好的提示...

0

如果您計劃使用所描述的集羣測試目的,可以將所有主節點放在同一臺服務器上。您也可以將SecondaryNameNode角色移動到Node_1,因爲SecondaryNameNode不是NameNode的備份服務器,它的存在地址爲make checkpoints of your NameNode。因此,將Node_2用作羣集中的另一個「工作者」節點或HiveServer2和Metastore是有意義的。

希望這會有所幫助。