hadoop.tmp.dir

时间:2019-01-12 07:38:05

标签: hadoop hdfs hadoop2

最近我已格式化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必须相同或不同?

  1. storageID = DS-7628c4d7-a508-406c-94fa-9b00f45b4f42
  2. clusterID = CID-73f3a584-4a8a-4260-856c-5a2062b6ae61
  3. cTime = 0
  4. datanodeUuid = 40834363-2025-4e9a-bb1e-e489bf13cad9
  5. storageType = DATA_NODE
  6. layoutVersion = -57

  7. namespaceID = 1181871748

  8. clusterID = CID-73f3a584-4a8a-4260-856c-5a2062b6ae61
  9. cTime = 1547187830726
  10. storageType = NAME_NODE
  11. blockpoolID = BP-2120424576-127.0.1.1-1547187830726
  12. layoutVersion = -63

2 个答案:

答案 0 :(得分:1)

数据节点和名称节点中的群集ID必须相同,或者删除<dfs.datanode.data.dir> /目录和<dfs.namenode.name.dir> /目录并格式化名称节点,以使用新的群集副本启动hdfs群集ID。您可以参考hadoop tutorial site了解更多详情

答案 1 :(得分:1)

主版本文件中存在的值用作对数据节点的身份验证。只有有效的数据节点才能加入集群。当datanode加入集群时,只能通过VERSION文件中的值进行身份验证。希望这是您的疑问。