我正在安装Hadoop 2.7.2(1个主NN -1秒NN-3 datanode)并且无法启动数据节点! 麻烦喊出日志后(见下文),致命错误是由于ClusterID不匹配......很容易!只需更改ID。 错误 ...当我检查NameNode上的VERSION文件和DataNodes时,它们是相同的。
所以问题很简单:INTO日志文件 - > NameNode的ClusterID来自哪里????
日志文件:
WARN org.apache.hadoop.hdfs.server.common.Storage: java.io.IOException: Incompatible clusterIDs in /home/hduser/mydata/hdfs/datanode: namenode clusterID = **CID-8e09ff25-80fb-4834-878b-f23b3deb62d0**; datanode clusterID = **CID-cd85e59a-ed4a-4516-b2ef-67e213cfa2a1**
org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to master/172.XX.XX.XX:9000. Exiting.
java.io.IOException: All specified directories are failed to load.
atorg.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:478)
atorg.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:1358)
atorg.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:1323)
atorg.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:317)
atorg.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:223)
atorg.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:802)
at java.lang.Thread.run(Thread.java:745)
WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Ending block pool service for: Block pool <registering> (Datanode Uuid unassigned) service to master/172.XX.XX.XX:9000
INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Removed Block pool <registering> (Datanode Uuid unassigned)
WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting Datanode
版本文件的复制
主人
storageID=DS-f72f5710-a869-489d-9f52-40dadc659937
clusterID=CID-cd85e59a-ed4a-4516-b2ef-67e213cfa2a1
cTime=0
datanodeUuid=54bc8b80-b84f-4893-8b96-36568acc5d4b
storageType=DATA_NODE
layoutVersion=-56
数据节点
storageID=DS-f72f5710-a869-489d-9f52-40dadc659937
clusterID=CID-cd85e59a-ed4a-4516-b2ef-67e213cfa2a1
cTime=0
datanodeUuid=54bc8b80-b84f-4893-8b96-36568acc5d4b
storageType=DATA_NODE
layoutVersion=-56
答案 0 :(得分:5)
为了总结(并结束)这个问题,我想分享一下我是如何解决这个问题的。
在 MASTER 和第二个Namenode 上,Namenode VERSION文件位于〜/.../ namenode / current / VERSION。< / p>
但 DATANODES 路径不同。它应该看起来像这样〜/.../ datanode / current / VERSION
2个VERSION文件之间的ClusterID应该相同
希望它有所帮助!
答案 1 :(得分:1)
再添一件事。
首先,停止dfs并删除hfs-site.xml中指定的namenode和datanode目录/文件夹。
然后转到../namenode/current/VERSION文件并复制clusterId,并将../datanode/current/VERSION文件中的clusterID重新替换为先前复制的clusterID。
答案 2 :(得分:1)
安装2.7.2时我也遇到了同样的问题。数据节点没有出现。 datanode日志文件中显示的错误是
java.io.IOException:不兼容的clusterIDs / home / prassanna / usr / local / hadoop / yarn_data / hdfs / datanode:namenode clusterID = CID-XXX;数据节点 clusterID = CID-YYY
我所做的是
HADOOP_DIR/bin/hadoop namenode -format -clusterID CID-YYY
(群集ID不需要引号)