2013-02-06 63 views
0

在分佈式Hadoop集羣上,我可以將同一個hdfs-site.xml文件複製到namenodes和datanode中嗎?Hadoop config - hdfs-site.xml:我應該在namenode和datanode上使用同一個文件嗎?

我看到的一些設置指令(即Cloudera)聲稱在datanode上的該文件中具有dfs.data.dir屬性,並且在namenode上的此文件中包含dfs.name.dir屬性。這意味着我應該有兩個hdfs-site.xml副本,一個用於namenode,一個用於datanode。

但是,如果它都是相同的,我寧願只擁有/維護文件的一個副本,並在任何時候將其更改爲所有節點。 在同一個文件中同時擁有dfs.name.dir和dfs.data.dir屬性是否有任何危害/風險?如果數據節點看到屬性「dfs.name.dir」,可能會發生什麼問題? 如果有問題,那麼namenode上的hdfs-site.xml文件應包含哪些其他屬性,而datanode上的屬性不應該包含在hdfs-site.xml文件中?反之亦然。

最後,需要將哪些屬性包含在我複製到客戶機(不是任務跟蹤器或數據節點,而只是與Hadoop集羣對話)的hdfs-site.xml文件中?

我搜索了一遍,包括O'reilly操作手冊,但找不到任何好的文章描述配置文件如何在不同節點間有所不同。 謝謝!

回答

0

namenode是從主文件中拾取的,因此基本上FSimage和編輯日誌將只寫入namenode,而不是數據節點,即使您複製相同的hdfs-site.xml。

對於第二個問題..你不能直接與集羣中的人進行通信。如果你想擁有一個遠程客戶端,你可以嘗試webhdfs並創建一些使用hdfs編寫或訪問文件的web服務。

+0

因此,在namenode和datanode上都有相同的hdfs-site.xml副本並沒有什麼壞處?至於客戶端 - 如果您安裝了軟件和配置文件,您可以讓一臺機器與HDFS通話並啓動map-reduce作業,同時不運行任何服務。我按照這些指示,它工作正常:https://ccp.cloudera.com/display/FREE373/Generating+Client+Configuration –

+0

另外 - 如果namenode地址是從「主」文件獨家派生,那麼是否有任何需要將core-site.xml複製到datanodes中? –

相關問題