解决集群长时间运行后无法正常关闭问题
Posted GaryLea
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决集群长时间运行后无法正常关闭问题相关的知识,希望对你有一定的参考价值。
解决集群长时间运行后无法正常关闭问题
背景
- 当前配置:hadoop版本为3.1.3
- 我的集群运行了好几个月,因为业务数据的增长,之前的资源配置方案需要调整,当我修改了yarn-site.xml分发之后,使用stop-yarn.sh命令停止yarn时发现并没有停止yarn
- 于是我将当前任务全部关闭,然后打算stop-all.sh关闭整个集群,竟然还是无法关闭,仿佛关闭命令不起作用
问题原因
因为linux默认会30天清理一次/tmp临时文件,而集群配置文件hadoop-env.sh中的默认pid存储位置就在这里,这就造成了因集群长时间运行后,无法正常找到集群的pid
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
# Where pid files are stored. /tmp by default.
#export HADOOP_PID_DIR=/tmp
解决方案
- 首先确保所有有关hadoop的任务全部关闭
- 使用jps查看集群的进程号
- 手动kill掉他们
- 修改hadoop-env.sh,制定pid保存在一个不会被清理的位置
- pid的位置记得修改其写入的权限才可以
- 重启集群即可
以上是关于解决集群长时间运行后无法正常关闭问题的主要内容,如果未能解决你的问题,请参考以下文章