datanode未启动:不兼容的clusterid hadoop

1tu0hz3e  于 2021-06-02  发布在  Hadoop
关注(0)|答案(5)|浏览(462)

尝试启动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。

vptzau2j

vptzau2j1#

尝试使用下面的命令 hdfs namenode -format -clusterId

f4t66c6m

f4t66c6m2#

这不是问题所在 tmp 解决此问题需要删除的文件夹。datanode/namenode clusterid的格式都没有帮助。要解决此问题,请执行以下操作序列:
以普通用户身份登录。我假设您已经在linux中创建了anhdfs用户,正如arunc在书中推荐的那样。murthy在第二章的开头写了“apache hadoopYarn”。在hdfs-site.xml的帮助下,找到dfs.namenode.name.dir、fs.checkpoint.dir和dfs.datanode.data.dir文件夹。在我的例子中,它们都在/var/data/hadoop/hdfs文件夹中。所以,你要做什么 cd /var/data/hadoopsudo rm -r ./hdfs 呆在/var/data/hadoop里,好吗 sudo mkdir -p ./hdfs/nn , sudo mkdir -p ./hdfs/snn , sudo mkdir -p ./hdfs/dn 不管你在哪里 sudo chown hdfs:hadoop /var/data/hadoop/hdfs -R 以hdfs用户身份登录。在我的情况下,可以这样做 su - hdfs ,因为“hdfs”也是该用户的名称。
现在,用 $HADOOP_HOME/bin/hdfs namenode -format 记住,在设置hadoop环境时,通常只能执行一次格式化。
此时,集群不兼容是不可能的,所以您可以继续使用hdfs。

ryevplcw

ryevplcw3#

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

pb3skfrl

pb3skfrl4#

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

f2uvfpb9

f2uvfpb95#

试着找到 clusterIdDataNode/usr/local/hadoop/hadoop_store/hdfs/datanode/current (例如 CID-c9f77ebe-1f8b-4005-91cd-6abfe9443fee )
使用

./sbin/stop-all.sh<br>
hdfs namenode -format -clusterId CID-c9f77ebe-1f8b-4005-91cd-6abfe9443fee<br>
./sbin/start-all.sh<br>

相关问题