stop-all.sh停止不了hadoop集群

Hadoop集群使用stop-all.sh停止时,停止不了,提示各个进程都找不到,但是各个进程都存在。

问题原因:hadoop启动停止都是通过hadoop-deamon.sh文件,脚本是通过pid文件来停止hadoop服务的。集群默认配置的pid文件位于/tmp目录下,linux系统默认每30天清理一次/tmp目录下的文件,pid文件丢失将导致无法正确关闭相应进程。

问题解决:由于pid文件已经无法找回,所以只能先用jps获取进程号,然后用kill -9杀掉对应进程,停止集群。参考stop-all.sh及stop-dfs.sh、stop-yarn.sh,停止顺序为:nn,dn,snn,qn,zk,rm,nm,yarn-daemon。
集群关闭之前修改conf/hadoop-env.sh文件,增加export HADOOP_PID_DIR=/home/hadoop/pid/hadoop指定pid文件存放路径

你可能感兴趣的:(大数据开发,开发环境,hadoop集群,hadoop,大数据)