4

VirtualBox(ホスト名と同じ)のubuntu 11.0.4にhadoop 1.0.4をインストールしましたが、どういうわけかデータノードがシャットダウンし、ログファイルに次のエラーが表示されます

/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG:   host = VirtualBox/127.0.1.1
STARTUP_MSG:   args = []
STARTUP_MSG:   version = 1.0.4
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290; compiled by 'hortonfo' on Wed Oct  3 05:13:58 UTC 2012
************************************************************/
2013-08-18 19:52:21,301 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2013-08-18 19:52:21,394 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered.
2013-08-18 19:52:21,412 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
2013-08-18 19:52:21,417 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: DataNode metrics system started
2013-08-18 19:52:23,207 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source ugi registered.
2013-08-18 19:52:23,276 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists!
2013-08-18 19:52:26,887 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /app/hadoop/tmp/dfs/data: namenode namespaceID = 457871323; datanode namespaceID = 2066655210
    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)

2013-08-18 19:52:26,903 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at VirtualBox/127.0.1.1
************************************************************/

理由は何ですか?どうすれば修正できますか?

4

5 に答える 5

11

私はこれを数回経験しました。データ ノードを再起動しても問題が解決しない場合は、次の手順を実行します。

  1. Hadoop を再起動する
  2. /app/hadoop/tmp/dfs/name/current に移動します
  3. VERSION を開く (つまりvim VERSION)
  4. 名前空間 ID を記録する
  5. /app/hadoop/tmp/dfs/data/current に移動します
  6. VERSION を開く (つまりvim VERSION)
  7. namespaceID を、ステップ 4 で記録した namespaceID に置き換えます。

これで問題は解決するはずです。

于 2013-08-18T16:19:21.273 に答える
0

namenode のデータを失いました。namenode をフォーマットする必要がありました

hadoop namenode -format

namenode の起動後、VERSION の問題により datanode の起動に失敗していました

次に、データノードからもすべてのデータを削除する必要があります。

dfs (/{hadoop.tmp.dir}/dfs/data/*) のデータ フォルダーをクリーンアップして、データノードを再起動するだけです。

すなわちrm -rf /{hadoop.tmp.dir}/dfs/data/*

また

VERSION ファイル (/{hadoop.tmp.dir}/dfs/data/current/VERSION) を削除し、datanode を再起動します。

于 2014-07-16T17:44:33.077 に答える
-2
Restart Hadoop
Go to /app/hadoop/tmp/dfs/name/current
Open VERSION (i.e. by vim VERSION)
Record namespaceID
Go to /app/hadoop/tmp/dfs/data/current
Open VERSION (i.e. by vim VERSION)
Replace the namespaceID with thve namespaceID you recorded in step 4.

上記の手順を実行するには、データフォルダー /tmp/data にファイルがありません

于 2014-09-18T07:15:56.127 に答える