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不一樣就可以了吧。如果你也遇到上面的情況,不妨試試。