运行命令stop-all.sh时,没有JobTracker和NameNode停止

时间:2014-01-30 15:31:11

标签: hadoop

在我的情况下,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 个答案:

答案 0 :(得分:1)

当/tmp/*.pid文件中保存的pid与namenode的实际pid不匹配时,会发生hadoop 1.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。之后没有出现这个问题。