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