1. 程式人生 > >重新格式化hadoop的namenode導致datanode無法啟動的最簡單解決辦法

重新格式化hadoop的namenode導致datanode無法啟動的最簡單解決辦法

導致 roo 報錯信息 不一致 atan 格式化 exceptio nco ava

一般namenode只格式化一次,重新格式化不僅會導致之前的數據都不可用,而且datanode也會無法啟動。在datanode日誌中會有類似如下的報錯信息:

java.io.IOException: Incompatible clusterIDs in /tmp/hadoop-root/dfs/data: namenode clusterID = CID-7f25bc20-e822-4b15-9063-4da48884cb60; datanode clusterID = CID-911d3bd8-bf2f-4cb7-8401-d470c89798e4

這是因為每次格式化namenode會生成一個新的clusterID,而datanode的clusterID還是舊的。

默認情況下
namenode的clusterID寫在/tmp/hadoop-root/dfs/name/current/VERSION文件中
datanode的clusterID寫在/tmp/hadoop-root/dfs/data/current/VERSION文件中

clusterID不一致導致datanode無法啟動,只要把這兩文件中的clusterID改一致就能正常啟動了。修改namenode的clusterID或修改datanode的clusterID都行,但在集群情況下datanode的數量多,還是改namenode的clusterID比較方便。

重新格式化hadoop的namenode導致datanode無法啟動的最簡單解決辦法