2013-09-30 157 views
0

我無法啓動我的Hadoop數據節點。我做了所有我能做的研究,而且沒有任何方法可以幫助解決我的問題。這裏是我的終端控制檯輸出,當我嘗試使用數據節點無法啓動

hadoop datanode -start 

這是發生了什麼,開始吧:

[email protected]:~/Desktop/hadoop# hadoop datanode -start 
Warning: $HADOOP_HOME is deprecated. 

13/09/29 22:11:42 INFO datanode.DataNode: STARTUP_MSG: 
/************************************************************ 
STARTUP_MSG: Starting DataNode 
STARTUP_MSG: host = Itanium/127.0.1.1 
STARTUP_MSG: args = [-start] 
STARTUP_MSG: version = 1.2.1 
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013 
STARTUP_MSG: java = 1.7.0_25 
************************************************************/ 
Usage: java DataNode 
      [-rollback] 
13/09/29 22:11:42 INFO datanode.DataNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down DataNode at Itanium/127.0.1.1 
************************************************************/ 
[email protected]:~/Desktop/hadoop# jps 
31438 SecondaryNameNode 
32013 Jps 
31818 TaskTracker 
1146 Bootstrap 
    31565 JobTracker 
    30930 NameNode 

[email protected]:~/Desktop/hadoop# 

正如我們看到的數據管理部試圖啓動,但然後關閉。我一直在用NameNode啓動時遇到問題。我曾經通過手動啓動它來解決此問題

start-dfs.sh 

現在問題出在DataNode上。我真的很感謝你在解決這個問題上的所有幫助。

還有一個通用的問題。爲什麼Hadoop顯示這種不一致的行爲。我確信我沒有更改任何* -site.xml設置。

+0

能你請告訴我你的DN日誌文件? – Tariq

+1

好的,我做了我的研究並查看了日誌,這似乎是與namespaceID不匹配的問題。看起來這是一個有據可查的問題,但只是通過刪除.... hadoop/tmp/dfs/name/....目錄解決了這個問題......解決了問題 – Ace

+0

@ Anum Saumithri - 請將您的解決方案發布爲該問題的答案,並指出您在問題日誌中看到的異常。我剛剛遇到了此問題,並能夠使用提供的註釋提示來解決此問題。 – algorithmic

回答

1

使用此命令hadoop datanode -rollback

+1

剛剛嘗試過。不起作用... – Ace

+0

AAlkesh_IT:爲什麼?它將解決所描述問題的基本原理是什麼? – algorithmic

1

我有一個類似的問題也是如此。看看Anup發佈的評論「似乎是與命名空間ID不匹配的問題」我能找到一個參考,告訴我如何解決我的問題。 http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/#caveats

我看了一下DataNode未啓動的從節​​點上的日誌文件。他們都有以下例外情況:

2014-11-05 10:26:14,289 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /scratch/hdfs/data/srinivasand: namenode namespaceID = 1296690356; datanode namespaceID = 1228298945                                 
     at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:232)                      
     at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:147)                   
     at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:385)                       
     at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:299)                         
     at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1582)                       
     at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1521)                     
     at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1539) 
     at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1665) 
     at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1682) 

修復此例外解決了問題。

修復方法是要麼 a)刪除dfs數據目錄。使用namenode -format重新格式化。 b)更新VERSION文件,以便兩個名稱空間ID匹配。

我能夠使用選項b),並在此之後成功啓動了datanodes。

導致此問題的錯誤報告被記錄在:https://issues.apache.org/jira/browse/HDFS-107

0

我曾經得到了同樣的問題,事實證明,50010端口被其他應用程序佔用,停止該應用程序,重新啓動的Hadoop