4591566 发表于 2015-11-11 11:05:24

停止hadoop2.2.0时提示no namenode to stop

  运行命令stop-all.sh,停止hadoop时提示:
  # stop-dfs.sh
Stopping namenodes on
master: no namenode to stop
slave1: no datanode to stop
slave2: no datanode to stop
Stopping secondary namenodes
0.0.0.0: no secondarynamenode to stop

原因:
  Hadoop在/tmp目录下保存namenode、datanode 的进程,而/tmp会被系统定期清理,所以stop-all.sh或stop-dfs.sh的时候就有可能找不到namenode、datanode进程pid。


  


  解决方法:
  1、 在namenode的机器运行命令jps , 找到namenode和secondnamenode等进程id。
  例如: 28867 HMaster
28366 ResourceManager
29313 JobHistoryServer
29812 Jps
2257 jar
28073 NameNode


  2、在/tmp目录下创建文件
  hadoop-运行hadoop的用户-secondarynamenode.pid

hadoop-运行hadoop的用户-namenode.pid

hadoop-运行hadoop的用户-resourcemanager.pid
  文件内容是进程id,例如:hadoop-hadoop-namenode.pid的内容是<pre name=&quot;code&quot; class=&quot;java&quot;>28073


  
  3、同样在datanode的机器执行上面两个步骤,不同的是创建文件【hadoop-运行hadoop的用户-datanode.pid】,内容是datanode的进程id,例如hadoop-root-datanode.pid的内容是13509
  


  4、重新执行: stop-all.sh 或者 stop-dfs.sh。(如果还有残留的线程,只能kill -9 了)
  5、修改文件$HADOOP_HOME/etc/hadoop/hadoop-env.sh:
  export HADOOP_PID_DIR=hadoop相关进程的id存放目录例如:export HADOOP_PID_DIR=/usr/local/hadoop-2.2.0/pid
  


  6、启动hadoop。




  


  


  



版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: 停止hadoop2.2.0时提示no namenode to stop