1 问题:执行 stop-all.sh 脚本一直提示没有可停止的namenode、datanode、secondarynode。可是输入 jps 命令,发现hadoop 相关进行依旧存在。
提示消息如下:
这是检查hadoop功能依旧正常,能进行进行存储以及计算。
2 产生原因:stop-all.sh 执行的原理是根据mapred和dfs的进程号进行关闭进程的,而这些进程号默认是存储在/tmp目录下,linux系统默认会间隔一段时间的清除临时文件,因此当长时间开启后再次关闭时就无法进行关闭。
3 解决方法:
1 、比较简单实用的手动的根据pid杀掉现在的进程 使用kill -9 pid (只是暂时性的解决了该问题)
2、修改配置文件:修改conf/hadoop-env.sh文件,增加export HADOOP_PID_DIR=/root/hadoop/ 指定pid文件存放路径。