Hadoop异常:无法加载所有指定的目录

时间:2017-07-17 10:52:59

标签: hadoop terminal

当我启动Hadoop集群时,抛出以下异常。我不知道解决它。任何人帮助我。感谢

2017-07-10 09:40:58,960 WARN org.apache.hadoop.hdfs.server.common.Storage: java.io.IOException: Incompatible clusterIDs in /tools/hadoop/hadoop_storage/hdfs/datanode: namenode clusterID = CID-47191263-b5b7-4a4d-b8b5-a78b782e66bb; datanode clusterID = CID-79a53373-9652-4c08-9735-b5972e0450ca
2017-07-10 09:40:58,960 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to localhost/127.0.0.1:54310. Exiting. 
java.io.IOException: All specified directories are failed to load.
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:478)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:1358)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:1323)
    at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:317)
    at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:223)
    at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:802)
    at java.lang.Thread.run(Thread.java:745)
2017-07-10 09:40:58,961 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Ending block pool service for: Block pool <registering> (Datanode Uuid unassigned) service to localhost/127.0.0.1:54310
2017-07-10 09:40:58,962 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Removed Block pool <registering> (Datanode Uuid unassigned)
2017-07-10 09:41:00,962 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting Datanode
2017-07-10 09:41:00,964 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 0
2017-07-10 09:41:00,966 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: 

2 个答案:

答案 0 :(得分:3)

或许您可以再次格式化群集,因此它会在主节点和数据节点中生成不同的ID群集。 您的namenode和datanode群集ID不匹配,并确保使它们相同。 在名称节点中,更改位于以下位置的文件中的群集ID:

$ nano HADOOP_FILE_SYSTEM/namenode/current/VERSION 

在数据节点中,您的群集ID存储在文件中:

$ nano HADOOP_FILE_SYSTEM/datanode/current/VERSION

无论您更改ID的方式如何,但确保群集节点中的ID都相同。

答案 1 :(得分:0)

@VanThaoNguyen是正确的

就我而言: / 安装目录 / hdata / dfs / name / current / 安装目录 / hdata / dfs / data / current

clusterID = xxxx-xxxx-xxxx-xxxx

名称节点和数据节点应该相同。