这个错误的来源是什么,如何修复?
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)发布于 2016-04-05 09:34:46
有两种可能的解决方案
First:
您的namenode和datanode集群ID不匹配,请确保它们相同。
在name节点中,更改位于以下位置的文件中的群集id:
$ nano HADOOP_FILE_SYSTEM/namenode/current/VERSION 在数据节点中,集群id存储在文件中:
$ nano HADOOP_FILE_SYSTEM/datanode/current/VERSION第二版:
将namenode格式化:
Hadoop 1.x: $ hadoop namenode -format
Hadoop 2.x: $ hdfs namenode -format发布于 2015-12-10 08:36:55
我遇到了同样的问题,并通过以下步骤解决了这个问题:
步骤1.删除hdfs目录(对我来说是默认目录"/tmp/hadoop-root/")
rm -rf /tmp/hadoop-root/*步骤2.运行
bin/hdfs namenode -format设置目录的格式
发布于 2015-12-19 06:17:46
造成这种情况的根本原因是datanode和namenode clusterID不同,请将它们与namenode clusterID统一起来,然后重新启动hadoop,然后应该解决。
https://stackoverflow.com/questions/33987253
复制相似问题