Hadoop重启,部分进程没有成功开启
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop重启,部分进程没有成功开启相关的知识,希望对你有一定的参考价值。
参考技术A一段时间后,重新启动hadoop之后,没有显示应有的五个进程。一般情况下从logs目录出发,进行修改。最经常报的错误是:
这种情况下一般是端口占用,执行命令 netstat -anp |grep 端口号 ,查看占用该端口的进程,并执行 kill 9 进程号 ,再次重启即可。
根据报错信息 java.io.IOException: Incompatible clusterIDs in /root/hadoop/dfs/data: namenode clusterID = CID-deb400ff-00be-4e84-b647-6be4edbe6abb; datanode clusterID = CID-83f6523b-7765-4eb1-abde-5887636778c9 和 博客 可知, namenode和datanode的clusterID不同造成的 解决办法:
根据日志中的路径, cd /root/hadoop/dfs/ 下面有data和name两个文件夹,
将 /root/hadoop/dfs/name/current 下的 VERSION中的clusterID 覆盖掉 /root/hadoop/dfs/data/current 下的 VERSION的clusterID 即可。
全部修改完毕后,重启即可。
Hadoop开启后jps显示只有jps
之前在用Mapreduce写代码时,在DFS Location下的会报一个error,大体的意思就是与主机名相关的错误
然后我就觉得可能时Hadoop开启时出了错误,然后我就重启了Hadoop,jps查看了一下,果然出现了错误
可见jps命令输入后什么都没有,原本应该如下图所示
后来我就在网上百度,发现出现错误的原因时我主机名和配置文件不一致造成的,根据Hadoop启动时的提示,从这随便挑选一个
例如; starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-ZMZ.out”,其中 ZMZ 时主机名,但其实
启动日志信息是记录在 /usr/local/hadoop/logs/hadoop-hadoop-namenode-ZMZ.log 中,所以应该查看这个后缀为 .log 的文件,果不其然
在对应的log中,注意此ip
然后打开host文件,输入命令
sudo vi /etc/hosts
发现没有上图中.log 文件对应的ip地址,所以要修改host文件,把目前主机名及其对应的ip地址插进去
然后重启网络,输入
sudo /etc/init.d/networking restart
或者
reboot
重新启动计算机生效
然后我再次jps,发现又缺少了DataNode
于是在网上找到的解决办法,主要是参照林子雨的教程走的
此外,若是 DataNode 没有启动,可尝试如下的方法(注意这会删除 HDFS 中原有的所有数据,如果原有的数据很重要请不要这样做)
# 针对 DataNode 没法启动的解决方法 ./sbin/stop-dfs.sh # 关闭 rm -r ./tmp # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据 ./bin/hdfs namenode -format # 重新格式化 NameNode ./sbin/start-dfs.sh # 重启
运行后会删除HDFS原有数据,注意保存
然后再次jps,发现正常运行了
以上是关于Hadoop重启,部分进程没有成功开启的主要内容,如果未能解决你的问题,请参考以下文章