Hadoop cannot find namenode pid file when shutdown

By default settings Hadoop use /tmp/ folder to track NameNode and JobTracker process id alive. But /tmp folder is cleanup once a week. So after some time, you will get error when you try to shutdown Hadoop cluster. You have to shutdown hadoop cluster manually. And don't use default setting to track pid files.

 

1. Shutdown hadoop cluster manually.

     Login to every node for the command :

jps | grep 'TaskTracker\|DataNode' | sed 's/ .*//g' | sed 's/^/kill -9 /g' | sh
This code is ugly but works. You can try some graceful way to do this, like :

jps | grep 'TaskTracker\|DataNode' | awk 'echo $1' | xargs kill -9 # I've not try this.

2. Change Hadoop default setting.

          Revise hadoop-env.sh file in ${HADOOP_HOME}/conf, add somethings like below.

export HADOOP_PID_DIR=${HADOOP_HOME}/pid

3. Restart your cluster, you should find some pid files in that folder.

ls -l
-rw-r--r-- 1 ana grid 6 Nov 13 01:54 hadoop-ana-jobtracker.pid
-rw-r--r-- 1 ana grid 6 Nov 13 01:54 hadoop-ana-namenode.pid
-rw-r--r-- 1 ana grid 6 Nov 13 01:54 hadoop-ana-secondarynamenode.pid



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