在我的例子中,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并没有停止,谁能帮我一下吗。
1条答案
按热度按时间gv8xihay1#
当保存在/tmp/*.pid文件中的pid与namenode的实际pid不匹配时,hadoop1.1.2会发生这种情况。
我打开stop-dfs.sh,它好像是这样叫的:
这次也失败了。然后在检查代码时,似乎脚本本身正在对hadoop守护进程执行kill-9操作。
在手动终止守护进程任务(不需要信号9)之后,我能够使用stop-dfs.sh脚本正确地启动和停止dfs。这个问题后来没有出现。