Java 块池初始化失败<;注册>;(数据节点Uuid未分配)
此错误的来源是什么?如何修复Java 块池初始化失败<;注册>;(数据节点Uuid未分配),java,hadoop,hdfs,uuid,disk,Java,Hadoop,Hdfs,Uuid,Disk,此错误的来源是什么?如何修复 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:
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)
2015-11-29 19:40:04670 FATAL org.apache.hadoop.hdfs.server.datanode.datanode:anmol-vm1-new/10.0.1.190:8020的块池(datanode Uuid unassigned)服务初始化失败。退出。
java.io.IOException:所有指定的目录都不可访问或不存在。
位于org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:217)
位于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.connecttonandhandshake(BPServiceActor.java:220)
位于org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:816)
运行(Thread.java:745)
2015-11-29 19:40:04670 WARN org.apache.hadoop.hdfs.server.datanode.datanode:终止块池服务:块池(datanode Uuid未分配)服务到anmol-vm1-new/10.0.1.190:8020
2015-11-29 19:40:04771 INFO org.apache.hadoop.hdfs.server.datanode.datanode:删除的块池(datanode Uuid未分配)
我遇到了同样的问题,并通过执行以下步骤解决了它:
步骤1。删除hdfs
目录(对我来说,它是默认目录“/tmp/hadoop root/
”)
第2步。运行
bin/hdfs namenode -format
要格式化目录,根本原因是datanode和namenode clusterID不同,请将它们与namenode clusterID统一,然后重新启动hadoop,然后应该解决它。有两种可能的解决方案 第一名: 您的namenode和datanode群集ID不匹配,请确保它们相同 在名称节点中,更改位于以下位置的文件中的ur群集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
出现此问题的原因是datanode和namenode的群集ID不匹配 遵循以下步骤:
出现此问题的原因是datanode和namenode的群集ID不匹配 遵循以下步骤: 1-转到Hadoop_主页/删除文件夹数据 2-创建名称为data123的文件夹 3-创建两个文件夹namenode和datanode 4-进入hdfs站点并通过您的路径
dfs.namenode.name.dir
……数据123/名称节点
dfs.datanode.data.dir
………/data123/datanode
.当存在某些存储i/o错误时,可能会发生此问题。在这种情况下,版本文件不可用,因此出现上述错误。 您可能需要在
hdfs site.xml
中排除那些坏驱动器上的存储位置。对于我来说,这很有效-
Source-我实际上已经这样做了,并且删除了我的datanode和namenode目录(在hdfs-site.xml文件中分配)。只是确定你在谈论哪个hadoop目录以及它在哪里?它只是在hdfs-site.xml中分配的目录。
Hadoop 1.x: $ hadoop namenode -format
Hadoop 2.x: $ hdfs namenode -format
<name>dfs.namenode.name.dir</name>
<value>........../data123/namenode</value>
<name>dfs.datanode.data.dir</name>
<value>............../data123/datanode</value>