hadoop “no xxxxNode to stop” 问题解决

在使用stop-dfs.sh、stop-mapred.sh、stop-all.sh、hadoop-deame.sh脚本关闭某个服务时,
经常汇报:“no xxxxNode to stop”
以下是解答


http://nourlcn.ownlinux.net/2012/06/no-namenode-to-stop-error-in-hadoop.html

引用
为什么会这样呢?

    因为Hadoop用来保存进程id的文件默认是在/tmp目录下,而/tmp会被系统定期清理,这样stop-all.sh或stop-dfs.sh的时候就有可能找不到namenode的进程pid。不能正常关闭namenode。

如何解决呢?

    重新定义pid文件的存放位置:在启动hadoop的用户.bashrc内或者hadoop/conf/hadoop-env.sh内增加配置:

export HADOOP_PID_DIR=/home/hadoop/pids

    这样就OK了。

网上很多帖子说执行hadoop namenode -format,然后重启hadoop,这是错误的做法。这样直接格式化DFS,导致丢失数据。

猜你喜欢

转载自taoo.iteye.com/blog/1730406