解決"no datanode to stop"問題
當我停止Hadoop時發現如下資訊:
no datanode to stop
原因:每次namenode format會重新創建一個namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的資料,但是沒有清空datanode下的資料,導致啟動時失敗,有兩種解決方案:
第一種解決方案如下:
1)先洗掉"/usr/hadoop/tmp"
rm -rf /usr/hadoop/tmp
2)創建"/usr/hadoop/tmp"檔案夾
mkdir /usr/hadoop/tmp
3)洗掉"/tmp"下以"hadoop"開頭檔案
rm -rf /tmp/hadoop*
4)重新格式化hadoop
hadoop namenode -format
5)啟動hadoop
start-all.sh
使用第一種方案,有種不好處就是原來集群上的重要資料全沒有了。假如說Hadoop集群已經運行了一段時間。
建議采用第二種。
第二種方案如下:
1)修改每個Slave的clusterID使其與Master的clusterID一致。
或者
2)修改Master的clusterID使其與Slave的clusterID一致。
該"namespaceID"位于"/home/zkpk/hadoopdata/dfs/name/current/VERSION"檔案中,前面藍色的可能根據實際情況變化,但后面紅色一般是不變的。
例如:查看"Master"下的"VERSION"檔案
本人建議采用第二種,這樣方便快捷,而且還能防止誤刪。
總結一下,其實找不到datanode的原因可能往往是因為自己搭建集群的時候格式化多次了,當然不排除機子突然抽風了,本來集群搭建第一次格式化時namenode生成一個clusterID,并且復制給子節點了,當再次不小心格式化的時候導致namenode和datanode的clusterID不一樣了,所以才會出現start-all.sh的時候找不到datanode了。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
如果是這種問題,不妨試試騰訊云的服務器哈,有專業的集群版本和搭建教程,效果還是很滿意的。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/74341.html
標籤:Spark
上一篇:m4.large的互聯網性能是 適中,是多少帶寬呢?
下一篇:誰有wenke lee資料挖掘入侵檢測系統的tcpdump資料(從iris.cs.uml.cn:8080/network.html獲得,可現在進不去)
