您的位置:首頁>正文

問題datanode無法正常啟動

hadoop的最基本的5個進程中datanode無法正常啟動, 進程在開啟一段時間後莫名其妙掛掉:

原因分析:

datanode為hadoop集群實際資料的存儲, 它的存活狀況直接決定了資料能否讀寫, 如果出現了上述問題, 首先要查看一下集群內的所有節點的情況, 看是不是每個節點都是只少了一個datanode, 如果同時少了namenode和datanode, 這種問題需要檢查設定檔, 一般都是配置資訊由問題, 或者網路不通等問題造成的。 如果發現所有節點都是只少了一個datanode, 這種問題一般都是由於重複的格式化, 導致namenode和datanode的ID不一致。

解決辦法:

針對解決這類問題有兩種方法:

1、 既然是有於ID不一致, 那麼找到兩個ID的位置, 把namenode和datanode的ID改為一樣的。 這個檔的位置是根據core-site.xml的配置決定的, 我的配置如下目錄在:

所以我需要修改如下位址的檔

/usr/hadoop/hadoop-2.6.0/tmp/dfs/data/current-------datanode 目錄下面的檔VERSION,

/usr/hadoop/hadoop-2.6.0/tmp/dfs/name/current------namenode目錄下麵也有VERSION,

兩個檔中都有一個clusterID的欄位, 把datanode的ID改成namenode的ID,

下圖為正常之後的集群服務項

2、刪除配置目錄的tmp目錄:

Shell代碼

rm -rf /usr/hadoop/hadoop-2.6.0/tmp/dfs/data

rm -rf /usr/hadoop/hadoop-2.6.0/tmp/dfs/name/

然後重新格式化, 使用此方式會導致集群的資料丟失, 不建議生產環境使用

hadoop datanode -format

下圖為正常之後的集群服務項

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示