最近我已格式化namenode,并且在启动hadoop守护程序datanode时失败并给出如下错误
2019-01-11 10:39:15,449警告 org.apache.hadoop.hdfs.server.common.Storage:添加存储失败 目录[DISK]文件:/ app / hadoop / tmp / dfs / data / java.io.IOException: / app / hadoop / tmp / dfs / data中不兼容的clusterID:namenode clusterID = CID-76c39119-061a-4ecf-9de1-3a6610ca57dd;数据节点 clusterID = CID-90359d7f-b1a5-431e-8035-bc4b9e2ea8b9
作为一项解决方案,我删除了tmp并再次创建了它的工作文件,还将namenode CID复制到了开始工作的版本文件中的datanode CID。
在查看备份时,我可以看到datanode和namenode的CID不同,并且可以更早地工作。
有人可以提供一些细节吗,每个值代表什么,并且两个CID必须相同或不同?
layoutVersion = -57
namespaceID = 1181871748
答案 0 :(得分:1)
数据节点和名称节点中的群集ID必须相同,或者删除<dfs.datanode.data.dir>
/目录和<dfs.namenode.name.dir>
/目录并格式化名称节点,以使用新的群集副本启动hdfs群集ID。您可以参考hadoop tutorial site了解更多详情
答案 1 :(得分:1)
主版本文件中存在的值用作对数据节点的身份验证。只有有效的数据节点才能加入集群。当datanode加入集群时,只能通过VERSION文件中的值进行身份验证。希望这是您的疑问。