1.pid文件的位置
先说说pid文件的默认位置为什么必须修改,原因在我的hadoop部署那节也提到过是因为/tmp目录下的文件有30天不访问的话就会自动清理。它的作用是进程的启动和停止都需要依赖此对应的pid文件
pid文件默认是存储在/tmp下的,如下图:
2.测试修改pid文件
3.结果
经过第二步的测试,修改pid文件的话会影响hadoop的重启,究其原因查看它启动的shell脚本:
start
echo $! > $pid
stop
TARGET_PID=`cat $pid`
if kill -0 $TARGET_PID > /dev/null 2>&1; then
echo stopping $command
kill $TARGET_PID
sleep $HADOOP_STOP_TIMEOUT
if kill -0 $TARGET_PID > /dev/null 2>&1; then
echo "$command did not stop gracefully after $HADOOP_STOP_TIMEOUT seconds: killing with kill -9"
kill -9 $TARGET_PID
fi
else
echo no $command to stop
fi
综上所看,如果我们的pid所在的位置不修改,到30天没访问直接自动清理 到时程序的启动和停止都会出问题,所以,必须修改 那么,怎么修改呢?接着下边:
直接修改/home/hadoop/app/hadoop/etc/hadoop/hadoop-env.sh文件中的HADOOP_PID_DIR的值即可