0
点赞
收藏
分享

微信扫一扫

格式化主节点NameNode所在的服务器后,启动其它服务器节点的DataNode无法启动

松鼠树屋 2022-07-12 阅读 62

格式化主节点NameNode所在的服务器后,启动其它服务器节点的DataNode无法启动

发生问题描述

A 机器执行了下面的命令 重置了NameNode, 然后启动正常, 但是集群中的B机器执行启动DataNode,发现启动失败

#先停止hadoop相关进程
sh $HADOOP_HOME/sbin/stop-all.sh
#重新格式化文件系统,因为之前的文件系统被误删除了
sh $HADOOP_HOME/bin/hdfs namenode -format

#重启hadoop,此时hadoop的相关进程正常启动 , 启动NameNode ,DataNode NodeManager 都会启动,.
并且集群下的别的机器相关进程也会跟着启动
sh $HADOOP_HOME/sbin/start-all.sh

当我们使用hadoop namenode -format格式化namenode时,会在namenode数据文件夹(这个文件夹为自己配置文件中dfs.name.dir的路径)中保存一个current/VERSION文件,记录clusterID,datanode中保存的current/VERSION文件中的clustreID的值是第一次格式化保存的clusterID,这样,datanode和namenode之间的ID不一致

解决办法就是人工手动改成一样的.

找到配置文件

格式化主节点NameNode所在的服务器后,启动其它服务器节点的DataNode无法启动_f5

格式化主节点NameNode所在的服务器后,启动其它服务器节点的DataNode无法启动_重启_02

如果没配置的话,默认是在,可能你们的不一样,至少我没配置上面东西,我的文件夹路径是下面的路径

NameNode:

/root/soft/tmp/dfs/name/current

DataNode:

/root/soft/tmp/dfs/data/current

打开A机器的NameNode所在机器的Version文件

“/root/soft/tmp/dfs/name/current/VERSION”

打开,然后复制clusterID的值

#Tue Jan 05 13:19:33 CST 2021
namespaceID=14676803
clusterID=CID-53f54bed-d2e8-4178-a562-334aa9a703ae
cTime=0
storageType=NAME_NODE
blockpoolID=BP-1664936006-172.16.10.101-1609823973383
layoutVersion=-63

打开B机器的DataNode的Version文件

打开

“/root/soft/tmp/dfs/data/current/VERSION”

将下面clusterID 改成和上面NameNode的clusterID 值一样.

#Tue Oct 27 17:15:39 CST 2020
storageID=DS-15e54b15-7514-4854-928b-63cf5d916972
clusterID=CID-53f54bed-d2e8-4178-a562-334aa9a703ae
cTime=0
datanodeUuid=71c7bd36-b047-4c08-869d-568a07a35027
storageType=DATA_NODE
layoutVersion=-56

重启DataNode

重启命令就不演示了,我刚刚启动完了, 这里用jps 发现DataNode 已经启动成功

[root@zjj102 current]# jps
20049 Kafka
53908 Jps
53511 DataNode


举报

相关推荐

0 条评论