hadoop集群启动后DataNode无法启动问题

在flink集群中提交了一个job报错如下大概看出是没有DataNode,这让人很奇怪

hadoop集群启动后DataNode无法启动问题

通过jps命令在主节点看到了namenode,但是在DataNode端执行jps没有DataNode

[root@devopes ~]# jps
TaskManagerRunner
NameNode
Jps
NodeManager
ResourceManager
QuorumPeerMain
StandaloneSessionClusterEntrypoint
[root@Node-1 zookeeper-3.6.2]# jps
QuorumPeerMain
SecondaryNameNode
NodeManager
Jps

由于多次格式化NameNode导致。在配置文件中保存的是第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。

查看从节点机器hadoop中datanode的log文件 ,查看最后一段

[root@Node-2 logs]# ll
总用量 85008
-rw-r--r-- 1 root root 55387738 9月  18 15:17 hadoop-root-datanode-Node-2.log
-rw-r--r-- 1 root root      692 9月  18 15:17 hadoop-root-datanode-Node-2.out
-rw-r--r-- 1 root root      692 9月  18 15:06 hadoop-root-datanode-Node-2.out.1
-rw-r--r-- 1 root root      692 9月  18 14:08 hadoop-root-datanode-Node-2.out.2
-rw-r--r-- 1 root root      692 9月  18 11:53 hadoop-root-datanode-Node-2.out.3
-rw-r--r-- 1 root root      692 9月  17 18:25 hadoop-root-datanode-Node-2.out.4
-rw-r--r-- 1 root root      692 9月  16 14:33 hadoop-root-datanode-Node-2.out.5
-rw-r--r-- 1 root root  1114401 9月  18 15:28 hadoop-root-nodemanager-Node-2.log
-rw-r--r-- 1 root root     2264 9月  18 15:18 hadoop-root-nodemanager-Node-2.out
-rw-r--r-- 1 root root     2264 9月  18 15:07 hadoop-root-nodemanager-Node-2.out.1
-rw-r--r-- 1 root root     2264 9月  18 14:08 hadoop-root-nodemanager-Node-2.out.2
-rw-r--r-- 1 root root     2271 9月  18 11:54 hadoop-root-nodemanager-Node-2.out.3
-rw-r--r-- 1 root root     2264 9月  17 18:26 hadoop-root-nodemanager-Node-2.out.4
-rw-r--r-- 1 root root     2264 9月  16 14:33 hadoop-root-nodemanager-Node-2.out.5
-rw-r--r-- 1 root root 19451602 9月  18 11:08 hadoop-root-secondarynamenode-Node-2.log
-rw-r--r-- 1 root root 11020011 9月  18 11:08 hadoop-root-secondarynamenode-Node-2.out
-rw-r--r-- 1 root root        0 9月  14 18:12 SecurityAuth-root.audit
drwxr-xr-x 2 root root        6 9月  18 15:36 userlogs

hadoop集群启动后DataNode无法启动问题

复制这个namenode的 clusterID

找到你的hadoop配置中的data目录,在这个目录下,有一个VERSION文件。将VERSION中的clusterID改成上面复制的ID。

这个路径是在hdfs-site.xml中配置的

[root@Node-2 hadoop-3.1.4]# vim /home/hadoop/data/current/VERSION 

#Fri Sep 18 11:53:49 CST 2020
storageID=DS-d9ee4826-d408-4ccf-816b-435c9a80b015
clusterID=CID-f1c3f691-2edc-4055-b917-94aef1bafe69
cTime=0
datanodeUuid=43e7d419-9277-4a38-9729-9f82d9837d20
storageType=DATA_NODE
layoutVersion=-57

如果存在多节点,其他节点也是一样改成这个clusterID,再次重启DataNode就会出现

[root@devopes ~]# /home/work/hadoop-3.1.4/sbin/stop-all.sh 
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
Stopping namenodes on [devopes]
上一次登录:五 9月 18 15:17:58 CST 2020pts/2 上
Stopping datanodes
上一次登录:五 9月 18 15:48:42 CST 2020pts/2 上
Stopping secondary namenodes [Node-1]
上一次登录:五 9月 18 15:48:44 CST 2020pts/2 上
Stopping nodemanagers
上一次登录:五 9月 18 15:48:45 CST 2020pts/2 上
Stopping resourcemanager
上一次登录:五 9月 18 15:48:48 CST 2020pts/2 上
[root@devopes ~]# /home/work/hadoop-3.1.4/sbin/start-all.sh 
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
Starting namenodes on [devopes]
上一次登录:五 9月 18 15:48:50 CST 2020pts/2 上
Starting datanodes
上一次登录:五 9月 18 15:51:03 CST 2020pts/2 上
Starting secondary namenodes [Node-1]
上一次登录:五 9月 18 15:51:05 CST 2020pts/2 上
Starting resourcemanager
上一次登录:五 9月 18 15:51:09 CST 2020pts/2 上
Starting nodemanagers
上一次登录:五 9月 18 15:51:14 CST 2020pts/2 上
[root@Node-2 hadoop-3.1.4]# jps
14577 Jps
12890 QuorumPeerMain
14237 DataNode
14446 NodeManager