0

Hadoop データノードの起動に問題があります。できる限りの調査を行いましたが、問題の解決に役立つ方法はありませんでした。を使用して起動しようとしたときの端末コンソールの出力は次のとおりです

hadoop datanode -start

これが起こることです:

root@Itanium:~/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
************************************************************/
root@Itanium:~/Desktop/hadoop# jps
31438 SecondaryNameNode
32013 Jps
31818 TaskTracker
1146 Bootstrap
    31565 JobTracker
    30930 NameNode

root@Itanium:~/Desktop/hadoop# 

ご覧のとおり、DataNode は開始を試みますが、その後シャットダウンします。その間ずっと、NameNode の起動に問題がありました。以前は、手動で開始してこれを修正していました

start-dfs.sh

そして今、問題は DataNode にあります。この問題を解決するために、皆様のご協力をお願いいたします。

そして、もう 1 つの一般的な質問です。Hadoop がこのように一貫性のない動作を示しているのはなぜですか。*-site.xml の設定を変更していないことは確かです。

4

3 に答える 3

1

私も同様の問題を抱えていました。Anup によって投稿されたコメントを見ると、「名前空間 ID が一致しないという問題があるようです」というコメントを見ると、問題を解決する方法を示すリファレンスを見つけることができました。 http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/#caveats

DataNodes が開始されなかったスレーブ ノードのログ ファイルを確認しました。どちらにも次の例外がありました。

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) 2 つの名前空間 ID が一致するように VERSION ファイルを更新します。

オプション b) を使用することができ、その後、データノードが正常に開始されました。

この問題につながるバグ レポートは、https ://issues.apache.org/jira/browse/HDFS-107 に記録されています。

于 2014-11-05T18:49:01.587 に答える
0

同じ問題が発生したことがあります。50010 ポートが他のアプリケーションによって占有されていることがわかりました。アプリケーションを停止し、Hadoop を再起動します。

于 2015-11-11T07:41:48.383 に答える