ERROR received in the logs:
FATAL datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to hadooptest3/100.6.89.29:8020
回答
有2个可能的解决方案来解决
第一:
Your namenode and datanode cluster ID does not match, make sure to make them the same.
在名称节点,坐落在文件中改变你的集群ID:
cat HADOOP_FILE_SYSTEM/namenode/current/VERSION
在数据节点中,您的簇ID存储在文件中:
cat HADOOP_FILE_SYSTEM/datanode/current/VERSION
此位置在集群中的hdfs-site.xml文件中设置。
检查您的hdfs-site.xml文件并检查dfs.datanode.data.dir
和dfs.namenode.name.dir
。
通过通过这些文件夹中去,在这里我得到的内容(我的伪集群)
clusterID=CID-483c19b1-b198-4806-93d2-af7508d1a5e5
你应该有完全一样的群ID。
其次:
格式名称节点:
Hadoop 1.x: hadoop namenode -format
Hadoop 2.x: hdfs namenode -format
或者,除去HDFS根目录/tmp/hadoop-root/
(在CONF文件设置) - 和格式化名称节点从王建宇,山西高等学校初始化。
1.datanode和namenode集群ID之前不匹配。我匹配它。仍然没有工作。所以它会从datanode更改为namenode或从namenode更改为datanode,hdfs-site.xml在我的配置中没有这些详细信息。 2.我尝试格式化这些,但它没有帮助,我没有/ tmp/hadoop-root /但有/ tmp/hadoop-hadoop,因为我用hadoop用户访问hadoop,而不是root用户。 – DevTorvalds
检查你的'hdfs-site.xml'文件并检查'dfs.datanode.data.dir'和'dfs.namenode.name.dir'。 并通过这些文件夹中去,在这里我得到的内容(我的伪集群) '群ID = CID-483c19b1-b198-4806-93d2-af7508d1a5e5' 你应该有完全一样的集群ID 。 或者删除'/ tmp/hadoop-hadoop /'文件夹,然后格式化名称节点 –
ok。所以我做了删除和格式化。但我认为在_hdfs-site.xml_中,我已经将dfs.datanode.data.dir和dfs.namenode.name.dir设置为只有相同,是否正常?现在两台机器中的群集ID都相同。但我已经将整个** VERSION **文件从_namenode_复制到_datanode_。有什么问题吗? – DevTorvalds
你的配置文件看起来不错。从您评论为Unexpected version of storage directory /home/hadoop/hdfs. Reported: -60. Expecting = -56.
的错误日志看来,当您应用`hadoop namenode -format命令时,似乎在/home/hadoop/hdfs
内创建的data
目录不会被重新格式化为。
所以我建议你到delete
那data
目录里面/home/hadoop/hdfs
之前你format
namenode
。然后应用format
命令并启动hadoop
群集。那就应该解决了。
- 1. 的Datanode没有启动:不相容群ID的Hadoop
- 2. Hadoop Datanode未启动
- 3. 重新格式化hadoop集群中的namenode后重新启动datanode
- 4. Hadoop集群无法启动
- 5. Hadoop集群不启动
- 6. Hadoop datanode服务没有启动在hadoop从属
- 7. hadoop namenode,datanode,secondarynamenode未启动
- 8. hadoop 2.5.0未能启动datanode
- 9. hadoop 2.2 - datanode不启动
- 10. 没有Hadoop的Canopy集群
- 11. 在hadoop集群上部署Mahout
- 12. 在ubuntu 14.04 hadoop 2.6中运行hadoop程序单节点集群设置hadoop 2.6
- 13. 如何为现有的hadoop群集部署ambari
- 14. 启动Hadoop集群时出错
- 15. 没有hadoop集群的windows上的MRUnit
- 16. Hadoop - NodeManager和DataNode不再启动
- 17. 无法正常启动hadoop datanode
- 18. DataNode无法在Hadoop中启动
- 19. Hadoop - 重新启动datanode和tasktracker
- 20. 无法正常启动hadoop datanode
- 21. Django集群部署
- 22. 主节点如何启动hadoop集群中的所有进程?
- 23. 无法在hadoop集群中创建默认datanode
- 24. 如何从hadoop集群中删除datanode而不丢失数据
- 25. Kerberos验证后,Datanode未在Hadoop中启动
- 26. Hadoop - datanode没有在slave上运行
- 27. Cassandra集群在重新启动后没有恢复?
- 28. Hadoop CDH3错误。无法启动Hadoop datanode守护进程
- 29. 为Hadoop集群
- 30. 未能在Google云上部署hadoop群集
请添加日志的更多部分,如果可能的话也共享您的配置文件。 –
17/06/14 05:58:19 INFO common.Storage:锁定/home/hadoop/hdfs/in_use.lock由nodename获取10382 @ hadooptest3 17/06/14 05:58:19 WARN common.Storage: org.apache.hadoop.hdfs.server.common.IncorrectVersionException:存储目录的非预期版本/ home/hadoop/hdfs。报道:-60。期待= -56。 17/06/14 05:58:19 FATAL datanode.DataNode:初始化失败块池(Datanode Uuid未分配)服务hadooptest3/100.6.89.29:8020。退出。 –
DevTorvalds
java.io.IOException:所有指定的目录加载失败。 at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:478) at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:1342) at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:1308) – DevTorvalds