2016-11-05 4 views
2

が開始されていません。データノードが開始されていません:Hadoopの2.7.3サービスのデータノードを起動しようとすると、互換性のないCLUSTERIDのHadoopを

java.io.IOException: Incompatible clusterIDs in /opt/hadoop/tmp/dfs/data: namenode clusterID = CID-4808098e-de31-469d-9761-9a4558fdaf70; datanode clusterID = CID-492135f3-fc08-46f1-a574-878855ae865e 

私はすでに名前ノードは、tmpフォルダと再フォーマット名前ノードにデータノード上にCLUSTERIDコピー。また、tmpフォルダを削除して、再フォーマットして再開しました。

これを開始する唯一の方法は、再起動するたびに手動でtmp foderを削除することです。

答えて

3

サービスを開始するたびにnamenodeをフォーマットする必要があります。ネームノードは一度だけフォーマットする必要があります。解決策は、tempフォルダを削除し、namenodeをフォーマットしてサービスを開始することです。次回は、サービスを開始するたびにnamenode bczをフォーマットしないでください。このステップは一度だけ実行する必要があります。

+0

OKを使用してみてください。問題は私がサービスを停止するたびにnamenodeを形成したことでした。解決済み。ありがとう! –

+0

私の答えがあなたを助けたら、受け入れられたとマークできますか? @gonzalobd – Mahek

0

は、それはあなたがこの問題を解決するために削除する必要がtmpフォルダではありません、コマンドの下に

hdfs namenode -format -clusterId

+0

私はすでに間違っていたことに気づきました。とにかくありがとう! –

0

を使用してみてください。 datanode/namenode clusterIdの書式設定は役に立ちません。この問題を解決するには、次の操作を実行してください。

  1. 通常のユーザーとしてログインしてください。私はあなたのLinuxにhdfsユーザを作成したと仮定しています。これは第2章の冒頭でArun C. Murthy 'Apache Hadoop YARN'の本で推奨されたものです。 HDFS-site.xmlのの助けを借りて、あなたのdfs.namenode.name.dirfs.checkpoint.dir、およびdfs.datanode.data.dirフォルダを探します。私の場合、それらはすべて/var/data/hadoop/hdfsフォルダにあります。だから、sudo mkdir -p ./hdfs/nnsudo mkdir -p ./hdfs/snn、どこにいてからsudo mkdir -p ./hdfs/dn

  2. 、やるcd /var/data/hadoop

  3. は、sudo rm -r ./hdfs

  4. の/ var /データ/ Hadoopのに滞在すればいいんsudo chown hdfs:hadoop /var/data/hadoop/hdfs -R

  5. hdfsユーザーとしてログインします。私の場合は、su - hdfsとすることができます。なぜなら、 'hdfs'もそのユーザーの名前であるからです。さて、$HADOOP_HOME/bin/hdfs namenode -format

であなたのHDFSをフォーマット

  • は、あなたのHadoop環境を設定しながら、通常のフォーマットは、一度だけ実行する必要があることを、覚えておいてください。
    現時点では、clusterIdの非互換性は可能ではありません。そのため、HDFSの使用を続行することができます。

  • -1

    /usr/local/hadoop/hadoop_store/hdfs/datanode/current(例えばCID-c9f77ebe-1f8b-4005-91cd-6abfe9443feeなど)

    DataNodeclusterIdを見つけて

    ./sbin/stop-all.sh<br> 
    hdfs namenode -format -clusterId CID-c9f77ebe-1f8b-4005-91cd-6abfe9443fee<br> 
    ./sbin/start-all.sh<br> 
    
    関連する問題