2014-09-18 331 views
0

使用hadoop安裝官方文檔中提供的基本配置,我可以運行hadoop集羣並提交mapreduce作業。重新格式化hadoop集羣中的namenode後重新啓動datanode

問題是每當我停止所有守護進程並重新設置namenode的格式時,當我隨後啓動所有守護進程時,datanode不會啓動。

我一直在尋找一個解決方案,它似乎是因爲格式化只格式化namenode和datanode的磁盤空間需要刪除。

我該怎麼做?我需要對我的配置文件進行哪些更改?在做出這些更改後,如何再次格式化namenode時刪除正確的文件?

+1

您是否在rm -rf/tmp/*從tmp中刪除所有東西之後嘗試格式化namenode(如果未在配置文件中手動定義tmp) – 2014-09-19 05:52:02

回答

1

具體如果已提供的以下2個參數的配置可在hdfs-site.xml

dfs.name.dir被定義:確定其中在本地文件系統的DFS名稱節點應存儲名稱table(fsimage)。如果這是一個以逗號分隔的目錄列表,則名稱表將被複制到所有目錄中,以實現冗餘。

dfs.data.dir:確定本地文件系統上DFS數據節點應存儲其塊的位置。如果這是以逗號分隔的目錄列表,則數據將存儲在所有已命名的目錄中,通常位於不同的設備上。不存在的目錄將被忽略

如果您爲上述2個參數提供了特定的目錄位置,那麼您需要在格式化namenode之前刪除這些目錄。

如果所以默認它得到根據下文參數創建您沒有提供上述2參數:

hadoop.tmp.dir可以在core-site.xml

再次被配置如果指定這個參數,然後您需要在格式化namenode之前刪除該目錄。

如果您還沒有定義如此的默認設置,它會在/tmp/hadoop-$username(hadoop) user中創建,因此您需要刪除此目錄。

摘要:在格式化系統之前,必須刪除名稱節點和數據節點目錄。默認情況下,它在/tmp/位置創建。

相關問題