环境信息:

centos6.5

问题描述:


大数据集群HDFS的DataNode的一个节点down掉,去服务器查看,发现datanode节点还在,打算重新启动该节点的datanode,使用hadoop-daemon.sh
stop datanode方式停掉datanode发现执行失败,提示使用kill -9杀掉进程,按照此方式执行,发现进程仍然存在,并未被杀掉

问题排查:

百度一下,kill -9无法杀掉的进程大概率是僵尸进程,使用top命令查看,发现有一个僵尸进程



使用命令:ps aux | grep Z

得到僵尸进程列表:



PID为178744的进程正好为出问题的datanode进程,问题得到证实

问题解决:

查看该进程的父进程ps -aux | grep 178744

看到该进程的父进程是89552即hdfs的balancer进程

停掉balancer进程,不久datanode的进程就被杀掉了

重新启动datanode进程:hadoop-daemon.sh start datanode,HDFS状态正常,问题解决

疑问:

hdfs的balancer进程为什么会导致datanode成为僵尸进程?此问题暂时未得到答案,后续继续研究,知道答案的朋友欢迎留言讨论或者告知

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信