在flink集群中提交了一個job報錯如下大概看出是沒有DataNode,這讓人很奇怪
通過jps命令在主節點看到了namenode,但是在DataNode端執行jps沒有DataNode
[root@devopes ~]# jps 5347 TaskManagerRunner 18788 NameNode 19908 Jps 19542 NodeManager 19367 ResourceManager 25021 QuorumPeerMain 5037 StandaloneSessionClusterEntrypoint
[root@Node-1 zookeeper-3.6.2]# jps 16176 QuorumPeerMain 27042 SecondaryNameNode 27140 NodeManager 27326 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
復制這個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