2016-03-22 28 views
0

實際上,作爲最終項目分配工作在大數據項目上,我一直在尋找在完全分佈式集羣上運行HDFS聯合的手段。Namenodes不使用具有HDFS的完全分佈式hadoop集羣中的所有數據節點聯盟

我的羣集的規格爲:

  • 的Hadoop 2.7.2
  • JDK 74年8月1日
  • 的OS系統是CentOS的6.7
  • 2個namenodes(Namenode1和Namenode2)
  • 2 datanodes(Datanode1和Datanode2)
  • 1客戶端(配置爲ViewFS安裝表)

使用一個namenode,集羣(1個namenode + 2 datanodes)工作正常,所有配置看起來都正確。

我找不到很多教程解釋如何完全配置HDFS聯合(即使運行兩個共享所有datanode的名稱節點),即使在Apache Hadoop的官方文檔中也沒有。 我使用的是以下Fully Distributed Hadoop Federation Cluster


我試圖有效地運行HDFS聯合會已經失敗,即使DFS守護進程已成功推出,該數據節點不使用的所有namenodes。

實際情況:

當我啓動DFS服務(與start-dfs.sh),該Namednode1使用所有的數據節點和Namenode2使用無。 或者每個名稱節點只使用一個唯一的datanode(Namenode1使用Datanode1和Namenode2使用Datanode2)。

的數據節點的使用似乎隨機的,但他們從來都在同一時間(我的目標)

如果有人知道如何與幾個namenodes運行HDFS聯邦使用兩個namenodes,歡迎您的幫助= P 謝謝。

回答

0

我終於找到了問題並予以糾正。

它是在hdfs-site.xml配置文件的namenodes。你Hadoop的安裝劇目中發現:在我的情況下,它位於〜/ Hadoop的2.7.2的/ etc/Hadoop的/

除了標準配置,確保了dfs.name.dir屬性是指每個名稱節點的元數據庫的位置。 在我的情況下,所有的namenodes我創造了/HDFS /名稱劇目與適當的主控權用途(使用Hadoop專門創建了一個用戶)

所以,你必須在HDFS站點添加。你所有的namenodes的XML羣集以下線路IL2另外其他配置:

<property> 
<name>dfs.name.dir</name> 
<value>file:///hdfs/name,file:///hdfs/name</value> 
</property> 

現在我的羣集的兩個namenodes使用所有的數據節點。 希望它會有所幫助。 另外我建議閱讀這本書,這是非常有用的糾正我遇到的問題Hadoop Operations - Eric Sammer (O'Reilly)

相關問題