錯誤現象
不知道什么原因,今天發現我的hadoop集群啟動后datanode只有一台了,我的集群本來有三台的,怎么只剩一台了呢?
用jps命令檢查一下,發現果然有兩台機器的DataNode沒有啟動。
可能原因:
1. 我之前遇到過的問題,由於多次運行hdfs namenode -format, 造成了clusterId不一致,檢查一下:進入到/opt/modules/hadoop-2.7.3/data/tmp/dfs/data/current目錄下,cat顯示一下VERSION文件的內容,檢查集群中的幾台機器的ClusterID是不是一致。我的機器這三台機器的clusterid是一致的,看起來沒問題。如果要是不一致的話,需要改過來,改成一致的,然后用 hadoop-daemon.sh start datanode 就可以啟動datanode了,我的不是這個問題引起的,還得繼續排查。
2. 不知道什么原因,還是看看日志,進入的出問題的機器上的logs目錄下,打開日志文件,跳到最后,從后面往前看,終於在一堆INFO里面看到一條ERROR:
[root@hadoop101 logs]# pwd
/opt/modules/hadoop-2.7.3/logs [root@hadoop101 logs]# vi hadoop-root-datanode-hadoop101.log
2019-10-14 14:25:22,376 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: RECEIVED SIGNAL 15: SIGTERM
解決問題
什么原因引起的不清楚,放狗搜了一下,有人說重啟服務就好了,當然還是要試一下這個重啟大法。關閉服務,再重啟一下相關服務,就解決了,好沒趣。
stop-all.sh 等帶完成 start-dfs.sh start-yarn.sh
另外,這個帖子里說調用一下hadoop dfsadmin -refreshNodes就好了,但我沒用上,反正先重啟就搞定了,要還有下次的話再試試吧。