这个错误的来源是什么?如何修复?
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条答案
按热度按时间gudnpqoy1#
当存在某些存储i/o错误时,可能会发生此问题。在这种情况下,版本文件不可用,因此出现上述错误。您可能需要排除中那些坏驱动器上的存储位置
hdfs-site.xml
.rm5edbpk2#
造成这种情况的根本原因是datanode和namenode clusterid不同,请用namenode clusterid将它们统一起来,然后重新启动hadoop,应该会得到解决。
nxowjjhe3#
出现此问题的原因是datanode和namenode的集群id不匹配。
遵循以下步骤:
1-转到hadoop\u主页/删除文件夹数据
2-创建名为data123的文件夹
3-创建两个文件夹namenode和datanode
4-进入hdfs站点并通过您的路径
.
axr492tv4#
出现此问题的原因是datanode和namenode的集群id不匹配。
遵循以下步骤:
转到hadoop\u home/data/namenode/current并从“version”复制集群id。
转到hadoop\u home/data/datanode/current并将这个集群id粘贴到“version”中,替换那里的集群id。
然后格式化namenode
再次启动datanode和namenode。
kxkpmulp5#
我遇到了同样的问题,并通过以下步骤解决了它:
第一步。拆下
hdfs
目录(对我来说是默认目录)/tmp/hadoop-root/
")第二步。跑
格式化目录
gmxoilav6#
有两种可能的解决方案
第一:
您的namenode和datanode集群id不匹配,请确保它们相同。
在名称节点中,更改位于以下位置的文件中的ur群集id:
在数据节点中,群集id存储在文件中:
第二:
设置namenode的格式:
4sup72z87#
对我来说,这很管用-
删除(或备份)hadoop\u文件\u system/namenode/current目录
重新启动datanode服务
这将使用版本文件中的正确clusterid再次创建当前目录
来源-https://community.pivotal.io/s/article/cluster-id-is-incompatible-error-reported-when-starting-datanode-service?language=en_us