Hadoopの格式化:にjava.io.IOException:互換性のないclusterIDsで/ホーム/ LXH / Hadoopの/ HDFS /データ:名前ノードのCLUSTERID

1つの概要
  解決Hadoopの開始HDFSは、データノードの問題を開始しません。エラーがありました。

java.io.IOException:互換性のないclusterIDsで/ホーム/ LXH / Hadoopの/ HDFS /データ:名前ノードCLUSTERID = CID-a3938a0b-57b5-458d-841c-d096e2b7a71c。データノードCLUSTERID = CID-200e6206-98b5-44b2-9e48-262871884eeb

問題の2説明
  start-dfs.shを実行した後は、印刷ログによれば、別々の操作名前ノードのデータノードとして行うことができます。

[ローカルホスト]のnamenodes開始
/home/lxh/hadoop/hadoop-2.4.1/logs/hadoop-lxh-namenode-ubuntu.outにログインし、名前ノードを開始:ローカルホスト
、データノードを開始する/ホーム/ LXH / Hadoopのをロギング:ローカルホストを/hadoop-2.4.1/logs/hadoop-lxh-datanode-ubuntu.out


  しかし、JPSの実装は結果を見始める、現金バックデータノードは起動しませんでした。

10256のResourceManager 
29634名前ノード
29939 SecondaryNameNode 
30054 JPS 
10399ノードマネージャ

  


3問題を見つけるために
  理解することは非常に困難でなく、単に適切に実行するために、そしてWORDCOUNTテストプログラムを行いました。だから、動作に一瞬バックのために考えた(HDFS名前ノード-formatとHDFSデータノード-format)DFSフォーマットを実施し、その後、このような状況の出現を再起動してください。それは形式に関係していますか?その後、ログを表示します。

2014年8月8日00:32:08787 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode:9000:ローカルホスト/ 127.0.0.1に初期化ブロックプール<登録>に失敗しました(データノードUUID割り当てられていない)サービス。終了。
java.io.IOException:互換性のないclusterIDsで/ホーム/ LXH / Hadoopの/ HDFS /データ:名前ノードCLUSTERID = CID-a3938a0b-57b5-458d-841c-d096e2b7a71c。データノードCLUSTERID = CID-200e6206-98b5-44b2-9e48-262871884eeb 
org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:477)で
org.apache.hadoop.hdfs.server.datanodeました。 DataStorage.recoverTransitionRead(DataStorage.java:226)
org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:254)で 
org.apache.hadoop.hdfs.server.datanode.DataNode.initStorageで( DataNode.java:974)
org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:945)で
org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:278)で
org.apacheで.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:220)
org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:816)で
java.lang.Thread.runで(Thread.java:745)
2014年8月8日00:32:08790がorg.apache.hadoop.hdfs.server.datanode.DataNodeに警告:ブロックプールに<登録>(データノードUUID割り当てられていない)サービスのための:終了ブロックプールサービスローカルホスト/ 127.0.0.1:9000 
2014年8月8日00:32:08791 INFO org.apache.hadoop.hdfs.server.datanode.DataNode:削除ブロックプール<登録>(データノードUUID割り当てられていません)

  ログの説明、CLUSTERIDと名前ノードCLUSTERIDデータノードの不一致ので。

  ログが説明かどうかを確認するためなど、その理由を探します。

  それぞれのディレクトリに対応するデータノードの名前ノードに関するオープンHDFS-site.xmlのは、その中に現在の/バージョンファイルの比較を開きました。

$ {データノード} /電流/ VERSION:

storageID = DS-be8dfa2b-17b1-4c9f-BBFE-4898956a39ed 
CLUSTERID = CID-200e6206-98b5-44b2-9e48-262871884eeb 
CTIME = 0 
datanodeUuid = 406b6d6a-0cb1-453d-b689-9ee62433b15d 
storageType = DATA_NODE 
layoutVersion = -55

  

$ {名前ノード} /電流/ VERSION:

namespaceID = 670379 
CLUSTERID = CID-a3938a0b-57b5-458d-841c-d096e2b7a71c 
CTIME = 0 
storageType = NAME_NODE 
blockpoolID = BP-325596647-127.0.1.1-1407429078192 
layoutVersion = -56

  

  案の定、名前ノードを持つので、一貫性のある変更データノードのバージョンファイルCLUSTERID、結果としてログに記録され、その後、DFS(実行start-dfs.sh)を起動し、JPSの実施の状況を見始める、すべての通常の開始ことがわかりました。

10256のResourceManager 
30614名前ノード
30759データノード
30935 SecondaryNameNode 
31038 JPS 
10399ノードマネージャ

  


問題の4原因
  HDFS名前ノード-formatを実行した後、現在のディレクトリが削除され、再構築し、VERSIONファイルCLUSTERIDも変化れると、データノードのVERSIONファイルには、一貫性のない2 CLUSTERIDその結果、変更されないままCLUSTERIDされます。

  だから、順番に名前ノードの後に​​、あなたはその後、データノードに現在のフォルダ、VERSIONファイルを削除、書式設定を実行することができますかCLUSTERIDからデータノードを変更し、VERSIONファイルが同じ、その後、再起動DFSをCLUSTERID名前ノード、これを避けるために。

おすすめ

転載: www.cnblogs.com/felixzh/p/12069843.html