web-dev-qa-db-ja.com

ブロックプール<登録>の初期化に失敗しました(データノードUUIDが割り当てられていません)

このエラーの原因は何ですか?また、どのように修正できますか?

2015-11-29 19:40:04,670 FATAL org.Apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to anmol-vm1-new/10.0.1.190:8020. Exiting.
Java.io.IOException: All specified directories are not accessible or do not exist.
        at org.Apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.Java:217)
        at org.Apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.Java:254)
        at org.Apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.Java:974)
        at org.Apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.Java:945)
        at org.Apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.Java:278)
        at org.Apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.Java:220)
        at org.Apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.Java:816)
        at Java.lang.Thread.run(Thread.Java:745)
2015-11-29 19:40:04,670 WARN org.Apache.hadoop.hdfs.server.datanode.DataNode: Ending block pool service for: Block pool <registering> (Datanode Uuid unassigned) service to anmol-vm1-new/10.0.1.190:8020
2015-11-29 19:40:04,771 INFO org.Apache.hadoop.hdfs.server.datanode.DataNode: Removed Block pool <registering> (Datanode Uuid unassigned)
7
Mona Jalal

解決すべき2つの可能な解決策があります

最初:

NamenodeとdatanodeのクラスターIDが一致しません。必ず同じにしてください。

名前ノードで、次の場所にあるファイルのurクラスターIDを変更します。

$ nano HADOOP_FILE_SYSTEM/namenode/current/VERSION 

データノードでは、クラスターIDがファイルに保存されます。

$ nano HADOOP_FILE_SYSTEM/datanode/current/VERSION

秒:

Namenodeをフォーマットします。

Hadoop 1.x: $ hadoop namenode -format

Hadoop 2.x: $ hdfs namenode -format
6

私は同じ問題に遭遇し、次の手順を実行して解決しました。

ステップ1。hdfsディレクトリを削除します(私にとってはデフォルトのディレクトリ "/tmp/hadoop-root/ ")

rm -rf /tmp/hadoop-root/*

ステップ2。実行

bin/hdfs namenode -format

ディレクトリをフォーマットするには

3
rhtsjz

これの根本的な原因は、datanodeとnamenodeclusterIDが異なることです。namenodeclusterIDと統合してから、hadoopを再起動してください。解決する必要があります。

2
Savy Pan

この問題は、datanodeとnamenodeのクラスターIDの不一致が原因で発生します。

次の手順を実行します:

  1. Hadoop_home/data/namenode/CURRENTに移動し、「VERSION」からクラスターIDをコピーします。
  2. Hadoop_home/data/datanode/CURRENTに移動し、このクラスターIDを「VERSION」に貼り付けて、そこにあるものを置き換えます。
  3. 次に、namenodeをフォーマットします
  4. datanodeとnamenodeを再度開始します。
1
Shwetabh Dixit

この問題は、datanodeとnamenodeのクラスターIDの不一致が原因で発生します。

次の手順を実行します:

1-Hadoop_homeに移動/フォルダーデータを削除

2-anthor名data123でフォルダを作成します

3-2つのフォルダnamenodeとdatanodeを作成します

4-hdfs-siteに移動し、パスを通過します

 <name>dfs.namenode.name.dir</name>
<value>........../data123/namenode</value>

    <name>dfs.datanode.data.dir</name>
<value>............../data123/datanode</value>

0
Lyndà Céline

この問題は、ストレージI/Oエラーがある場合に発生する可能性があります。このシナリオでは、VERSIONファイルが使用できないため、上記のエラーとして表示されます。 hdfs-site.xmlでこれらの不良ドライブの保存場所を除外する必要がある場合があります。

0
Eric