hadoop集羣之PID

在hadoop集羣上面的每個java進程都會有一個文件記錄啓動時的PID,這樣可以確保進程正確啓動,在使用‘hadoop-daemon.sh stop 進程名 ’ 關閉進程時也會相應的把該PID文件刪除掉。該PID文件沒有實質的作用僅作爲一個標記文件存在。

這裏會有兩個場景牽扯到pid文件:

場景一:假設namenode進程被人爲的誤操作給kill -9 刪除掉了,但namenode的pid文件還在,使用hadoop-daemon.sh start namenode 命令是啓動不起來進程的。會提示該進程在某個進程號,但是使用jps命令查看卻又沒有。其實提示的進程號就是namenode.pid文件中存放的進程號。所以解決辦法就有了,先刪除該PID文件然後再啓動namenode就正常了。

場景二:假設datanode進程在正常運行中,但其pid文件被人爲刪除了,這時候如果想通過命令‘hadoop-daemon.sh stop datanode’ 會提示datanode 進程不存在無法關閉。這時如果需要停機就直接kill -9 就可以了。


說了這麼多關於pid文件的事情,下面說下如何配置修改這個pid文件的存放路徑:

在hadoop-env.sh 這個腳本中的HADOOP_PID_DIR = 來指定。是不是很簡單啊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章