运行stop-all.sh命令时没有jobtracker和namenode stop

z0qdvdin  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(350)

在我的例子中,jobtracker和namenode启动了,但无法通过运行stop-all.sh命令来停止它
当我键入jps时,得到以下消息:

[root@iq hadoop]# jps

25258 JobTracker

8082 SecondaryNameNode

7944 DataNode

8404 Jps

8321 TaskTracker

24237 NameNode

但当我试图通过在命令行上运行stop-all.sh来停止它时,得到了以下消息:

[root@iq bin]# bash stop-all.sh 

no jobtracker to stop

localhost: stopping tasktracker

no namenode to stop

localhost: stopping datanode

localhost: stopping secondarynamenode

当我在命令行上键入jps再次检查正在运行的作业时,得到以下结果:

[root@iq bin]# jps

11823 Jps

25258 JobTracker

24237 NameNode

看来jobtracker和namenode并没有停止,谁能帮我一下吗。

gv8xihay

gv8xihay1#

当保存在/tmp/*.pid文件中的pid与namenode的实际pid不匹配时,hadoop1.1.2会发生这种情况。
我打开stop-dfs.sh,它好像是这样叫的:

/opt/hadoop-1.1.2/bin/hadoop-daemon.sh --config /opt/hadoop-1.1.2/conf/ stop namenode

这次也失败了。然后在检查代码时,似乎脚本本身正在对hadoop守护进程执行kill-9操作。
在手动终止守护进程任务(不需要信号9)之后,我能够使用stop-dfs.sh脚本正确地启动和停止dfs。这个问题后来没有出现。

相关问题