[hadoop]無法關閉hadoop集群解決方法


很久沒管hadoop集群,用stop-all.sh想關掉報錯:

[root@master bin]# ./stop-all.sh
no jobtracker to stop
slave2: no tasktracker to stop
slave1: no tasktracker to stop
no namenode to stop
slave1: no datanode to stop
slave2: no datanode to stop
master: no secondarynamenode to stop

問題原因在於hadoop啟動停止都是通過hadoop-deamon.sh文件,腳本是通過pid文件來停止hadoop服務的。而集群默認配置的pid文件位於/tmp目錄下,linux系統默認每30天清理一次/tmp目錄下的文件,pid文件丟失將導致無法正確關閉相應進程。

由於pid文件已經無法找回,所以只能先用jps獲取進程號,然后用kill -9殺掉對應進程,停止集群。

要徹底解決這個問題得在集群關閉之前修改conf/hadoop-env.sh文件,增加export HADOOP_PID_DIR=/usr/local/src/hadoop-1.2.1指定pid文件存放路徑。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM