pid of namenode pid file is other process pid or thread id before start namenode,start namenode will failure.because the pid of namenode pid file will be checked use kill -0 command before start namenode in hadoop-daemo.sh script.when pid of namenode pid file is other process pid or thread id,checkt is use kil -0 command,and the kill -0 will return success.it means the namenode is runing.in really,namenode is not runing.
2338 is dead namenode pid
2305 is datanode pid
cqn2:/tmp # kill -0 2338
cqn2:/tmp # ps -wweLo pid,ppid,tid | grep 2338
2305 1 2338