linux下 /tmp 目录会定时清理。
Hadoop启动后的PID文件默认配置确是保存在 /tmp 目录下的,所以这很危险。
在集群运行一段时间后,停Hadoop相关服务是会出现类似:no namenode to stop 的错误提示。
一般生产环境中我们需要重新修改PID的保存路径。
正常Hadoop进程:
半个多月没用,关闭出现异常。。
查看tmp目录:
杀掉namenode、datanode等pid:
[root@baolibin tmp]# ps -ef
kill -9依次杀掉:
重启之后的tmp目录:
会多出几个pid文件:
查看其中某个pid文件:
和这里的一样,存的就是下面的pid号
再关闭就正常了:
不用默认的临时目录tmp,修改PID路径:
先修改hadoop-daemon.sh文件:
[root@baolibin sbin]# vim hadoop-daemon.sh
可以看到默认是存在/tmp目录里:
修改为:
再修改 yarn-daemon.sh 文件:
[root@baolibin sbin]# vim yarn-daemon.sh
指定路径:
重新启动Hadoop:
会看的刚才指定的pid路径
目录pid里面的内容: