本篇文章主要介绍了"hadoop datanode 和 tasktracker起不来。",主要涉及到hadoop datanode 和 tasktracker起不来。方面的内容,对于hadoop datanode 和 tasktracker起不来。感兴趣的同学可以参考一下。
用JPS检查slave1,发觉datanode和tasktracker没有起来。
- 先检查日志:/logs/hadoop-hadoop-datanode-slave1.hadoop.log。报错信息如下:
- 网上找的解决方案是修改name server,这个是不行的。因为我是内网机,根本不需要用得到DNS服务器,所以猜测肯定是slave1的配置有问题。
- 从报告中发现是找不到slave1.hadoop这个域名的解析
- 我试着在hosts文件中添加了salve1.hadoop的IP
- 重新使用start-all.sh命令之后发觉datanode起来了。下一步要找到配置了slave1.hadoop这个字段的文件。
- 查到一半才知道什么叫做屋漏偏逢连夜雨,突然Name node起不来了。报错信息如下:
- 先查看占用该端口的程序:netstat -apn | grep 9000,再用kill -9 7546,杀掉该进程。重启hadoop之后还是不行。最终我选择了重启master主机,现在端口没被占用了。继续查data node的issue。
- 经过检查,发觉我的hostname为:slave1.hadoop。而datanode在启动的时候默认是以hostname作为标识的。
- 回想起当时改了hostname之后并未更改host文件,所以造成了该原因。
- 如下图,更改之后就OK了
- 重启之后,过一会datanode 又消失了,报错信息如下(No route to host):
- 最后发现是因为防火墙没关:chkconfig iptables off关闭防火墙