執行hadoop的關閉腳本,出現沒有可停止的namenode、datanode、secondarynamenode等,如下:
[root@hadoop001 soft]# stop-all.sh This script is Deprecated. Instead use stop-dfs.sh and stop-yarn.sh 19/05/28 18:09:19 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Stopping namenodes on [hadoop001] hadoop001: no namenode to stop hadoop001: no datanode to stop Stopping secondary namenodes [0.0.0.0] 0.0.0.0: no secondarynamenode to stop 19/05/28 18:09:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable stopping yarn daemons no resourcemanager to stop hadoop001: no nodemanager to stop no proxyserver to stop
可是輸入 jps 命令,發現hadoop 已經啟動了,而且 HDFS連接正常。
[root@hadoop001 sbin]# jps 29248 DataNode 29584 ResourceManager 29155 NameNode 35269 Jps 29382 SecondaryNameNode 29687 NodeManager
后來參考一篇博文,原來 hadoop啟動后,進程信息默認保存在 /tmp 文件夾。信息如下:
-rw-r--r-- 1 root root 6 May 28 18:16 hadoop-root-datanode.pid -rw-r--r-- 1 root root 6 May 28 18:16 hadoop-root-namenode.pid -rw-r--r-- 1 root root 6 May 28 18:16 hadoop-root-secondarynamenode.pid -rw-r--r-- 1 root root 6 May 28 18:16 yarn-root-nodemanager.pid -rw-r--r-- 1 root root 6 May 28 18:16 yarn-root-resourcemanager.pid
解決方法:
1. 參考 stop-all.sh 腳本文件代碼,手動停止所有相關進程。
停止順序: job 、task、namenode、datanode、secondarynode
2. 重新啟動集群,再次查看 /tmp 文件夾,你會看到以上進程信息。這個時候執行 stop-all.sh 命令能正常關閉 hadoop集群了
參考博文:https://blog.csdn.net/zhoujianfeng3/article/details/38382195