hadoop datanode啓動不起來

轉自:http://book.51cto.com/art/201110/298602.htm

如果大家在安裝的時候遇到問題,或者按步驟安裝完後卻不能運行Hadoop,那麼建議仔細查看日誌信息,Hadoop記錄了詳盡的日誌信息,日誌文件保存在logs文件夾內。

 

無論是啓動,還是以後會經常用到的MapReduce中的每一個job,以及HDFS等相關信息,Hadoop均存有日誌文件以供分析。

 

例如:

NameNode和DataNode的namespaceID不一致,這個錯誤是很多人在安裝時會遇到的,日誌信息爲:

java.io.IOException: Incompatible namespaceIDs in /root/tmp/dfs/data:

NameNode namespaceID = 1307672299; DataNode namespaceID = 389959598

 

若HDFS一直沒有啓動,讀者可以查詢日誌,並通過日誌進行分析,以上提示信息顯示了NameNode和DataNode的namespaceID不一致。

 

這個問題一般是由於兩次或兩次以上的格式化NameNode造成的,有兩種方法可以解決,第一種方法是刪除DataNode的所有資料(及將集羣中每個datanode的/hdfs/data/current中的VERSION刪掉,然後執行hadoop namenode -format重啓集羣,錯誤消失。<推薦>);第二種方法是修改每個DataNode的namespaceID(位於/hdfs/data/current/VERSION文件中)<優先>或修改NameNode的namespaceID(位於/hdfs/name/current/VERSION文件中),使其一致。

 

下面這兩種方法在實際應用中也可能會用到。

 

1)重啓壞掉的DataNode或JobTracker。當Hadoop集羣的某單個節點出現問題時,一般不必重啓整個系統,只須重啓這個節點,它會自動連入整個集羣。

 

在壞死的節點上輸入如下命令即可:

bin/Hadoop-daemon.sh start DataNode 

bin/Hadoop-daemon.sh start jobtracker

 

2) 動態加入DataNode或TaskTracker。這個命令允許用戶動態將某個節點加入集羣中。

 

bin/Hadoop-daemon.sh --config ./conf start DataNode 

bin/Hadoop-daemon.sh --config ./conf start tasktracker


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章