小记一则重启hadoop集群是找不到pid故障

   最近重启公司集群的时候很莫名其妙的出现了no (namenode|datanode|JobTracker|TaskTrackerter)  stop这个问题。

经过对hadoop配置文件的研究和启动脚本的研究找出了原因,分享记录一下:

错误原因:hadoop每次启动的时候都会分别为
JobTracker、namenode、 SecondaryNameNode和每个节点上的 TaskTrackerter和datanode创建一个pid,如果不在hadoop-env.sh中指定就会默认创建在 \tmp目录下,这个目录linux系统会定时清除,如果pid被清除hadoop就无法找到当初启动时候创建的pid所以会产生以上错误。
解决方法:
配置hadoop-env.sh指定pid生成的路径
# The directory where pid files are stored. /tmp by default.
export HADOOP_PID_DIR=$HADOOP_HOME/pids   (这个是我的配置路径)


你可能感兴趣的:(数据分析,hadoop,集群,hadoop运维)