1. 程式人生 > >hadoop叢集只有一個datanode啟動問題

hadoop叢集只有一個datanode啟動問題

之前不懂犯了個低階錯誤,導致datanode只能啟動一個;很是奇怪;

首先,之前多次將namenode格式化,導致namenode和datanode的clusterID不一致無法啟動datanode

注:clusterID在/usr/local/hadoop/hdfs/name/current目錄下;

解決方案:修改Shadoop1 和 Shadoop2 的data/current目錄下的VERSION檔案,將clusterID修改一致即可;

結果呢我胡亂修改一通,將 storageID和 datanodeUuid也改成一樣的了,結果會怎麼樣?

你上傳檔案至hdfs會報錯誤Exception in createBlockOutputStream java.io.IOException

.....Excluding datanode 192.168.85.11:50010最後告訴你有一個datanode成功了

這我就不明白為什麼有一個節點被exclude了,輸入命令 bin/hdfs dfsadmin -report 看到只有一個datanode,分別登入兩個datanode發現都是啟動的。

登入50070檢視這一個活動的datanode不斷的切換。http://192.168.85.10:50070/dfshealth.html#tab-datanode(不斷重新整理可以看到)有時候datanode會死掉,但是絕不會顯示在dead nodes這一欄。

苦尋答案無果,我就這麼處理了

1、刪除了tmp,logs,hdfs/data,hdfs/name 目錄下的所有檔案;

2、重新格式化namenode:bin/hdfs namenode -format;重啟叢集OK;

SO:只要修改storageID和 datanodeUuid這兩個ID不一樣就可以了吧。如果你也遇到上面的情況,不妨試試。