Datanode无法启动:不兼容的clusterID Hadoop

时间:2016-11-05 12:27:53

标签: hadoop bigdata

尝试启动hadoop 2.7.3服务datanode无法启动:

java.io.IOException: Incompatible clusterIDs in /opt/hadoop/tmp/dfs/data: namenode clusterID = CID-4808098e-de31-469d-9761-9a4558fdaf70; datanode clusterID = CID-492135f3-fc08-46f1-a574-878855ae865e

我已将namenode clusterId复制到tmp文件夹中的datanode并重新格式化namenode。另外,我删除了tmp文件夹,重新格式化并重新开始。

启动它的唯一方法是每次我想重新开始时手动删除tmp foder。

5 个答案:

答案 0 :(得分:4)

每次启动服务时,您必须格式化namenode。 Namenode应该只格式化一次。解决方案是删除临时文件夹,然后格式化namenode并启动服务。下次无论何时启动服务,都不要格式化namenode bcz,此步骤必须只执行一次。

答案 1 :(得分:0)

尝试使用以下命令

hdfs namenode -format -clusterId

答案 2 :(得分:0)

要解决此问题,您需要删除tmp文件夹。 datanode / namenode clusterId的格式化都没有帮助。要解决此问题,请按照下一步操作进行操作:

  1. 以普通用户身份登录。我假设你已经在你的linux中创建了一个 hdfs 用户,正如 Arun C. Murthy' Apache Hadoop YARN' 所述。第二章的开头。在 hdfs-site.xml 的帮助下,找到 dfs.namenode.name.dir fs.checkpoint.dir dfs.datanode.data.dir 文件夹。就我而言,它们都在 / var / data / hadoop / hdfs 文件夹中。那么,做cd /var/data/hadoop

  2. 执行sudo rm -r ./hdfs

  3. 保持 / var / data / hadoop ,执行sudo mkdir -p ./hdfs/nnsudo mkdir -p ./hdfs/snnsudo mkdir -p ./hdfs/dn

  4. 无论身在何处,都可以sudo chown hdfs:hadoop /var/data/hadoop/hdfs -R

  5. hdfs 用户身份登录。就我而言,它可以su - hdfs完成,因为' hdfs'也是该用户的名称。

  6. 现在,使用$HADOOP_HOME/bin/hdfs namenode -format

  7. 格式化您的HDFS

    请记住,在设置Hadoop环境时,通常只应执行一次格式化。
    此时,不应该存在clusterId不兼容性,因此您可以继续使用HDFS。

答案 3 :(得分:0)

或者您可以删除data和namenode文件夹下的所有内容,然后重新启动群集,新的ID将分配给data和namenode

答案 4 :(得分:-2)

尝试在

中找到clusterId的{​​{1}}

DataNode (例如/usr/local/hadoop/hadoop_store/hdfs/datanode/current

并使用

CID-c9f77ebe-1f8b-4005-91cd-6abfe9443fee