2017-06-14 53 views
-1
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 
+0

请添加日志的更多部分,如果可能的话也共享您的配置文件。 –

+0

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

+0

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

回答

0

有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.dirdfs.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文件设置) - 和格式化名称节点从王建宇,山西高等学校初始化。

+0

1.datanode和namenode集群ID之前不匹配。我匹配它。仍然没有工作。所以它会从datanode更改为namenode或从namenode更改为datanode,hdfs-site.xml在我的配置中没有这些详细信息。 2.我尝试格式化这些,但它没有帮助,我没有/ tmp/hadoop-root /但有/ tmp/hadoop-hadoop,因为我用hadoop用户访问hadoop,而不是root用户。 – DevTorvalds

+0

检查你的'hdfs-site.xml'文件并检查'dfs.datanode.data.dir'和'dfs.namenode.name.dir'。 并通过这些文件夹中去,在这里我得到的内容(我的伪集群) '群ID = CID-483c19b1-b198-4806-93d2-af7508d1a5e5' 你应该有完全一样的集群ID 。 或者删除'/ tmp/hadoop-hadoop /'文件夹,然后格式化名称节点 –

+0

ok。所以我做了删除和格式化。但我认为在_hdfs-site.xml_中,我已经将dfs.datanode.data.dir和dfs.namenode.name.dir设置为只有相同,是否正常?现在两台机器中的群集ID都相同。但我已经将整个** VERSION **文件从_namenode_复制到_datanode_。有什么问题吗? – DevTorvalds

0

你的配置文件看起来不错。从您评论为Unexpected version of storage directory /home/hadoop/hdfs. Reported: -60. Expecting = -56.的错误日志看来,当您应用`hadoop namenode -format命令时,似乎在/home/hadoop/hdfs内创建的data目录不会被重新格式化为

所以我建议你到deletedata目录里面/home/hadoop/hdfs之前你formatnamenode。然后应用format命令并启动hadoop群集。那就应该解决了。