hadoop中hadoop Live Nodes :0,datanode无法连接上namenode

很难受,真的很难受,近一个星期没有睡好觉了,就因为这个问题。用了两天找错误,终于找到了错误。

用了四天来该错误,每一天都是煎熬,锻炼了自己的毅力(值得安慰一下)。由于网上基本上找不到这个错误,

所以才搞了这么久,这篇博客两个意义

其一:自己做笔记,记录错误心得,以及解决问题的思路。

其二:分享一下,帮助其他遇到困难的朋友,少走弯路啊!!!!!!

正文如下:

start-dfs.sh开启集群,在master节点通过jps命令查看,看到NameNode、SecondaryNameNode已启动,在slave节点通过jps命令查看,DataNode也已经启动。
但是通过hdfs dfsadmin -report 你会发现并没有datanode节点的信息,难过不。找问题

这些错误会有影响,先看看:1:相互能ping同  2:相互ssh免密(这里我使用的是非root用户登录)  3:防火墙iptables关闭   4:set enforce = 0 

以上问题依次检查后重试start-dfs.sh后hdfs dfsadmin -report 查看,如果能成功恭喜你小错误。如果不能还是0节点,难过不,就问你难过不。

还有解决办法接着来:看了大量的资料和博客,很多人都提到了端口监听状态在开启集群状态下监听9000端口

netstat -an | grep 9000查看如下:

tcp        0      0 192.168.1.2:9000            0.0.0.0:*                   LISTEN      
tcp        0      0 192.168.1.2:9000            192.168.1.3:36686           ESTABLISHED 
tcp        0      0 192.168.1.2:9000            192.168.1.4:45568           ESTABLISHED 
tcp        0      0 192.168.1.2:44570           192.168.1.2:9000            TIME_WAIT   
tcp        0      0 192.168.1.2:44568           192.168.1.2:9000            TIME_WAIT

如若不是上面类型,是127.0.0.1被监听,而不是你自己设置的ip,恭喜你可以改错了:最简单的修改将/etc/hosts下原来的地址注释了只写集群的映射关系

192.168.1.2 hadoop2
192.168.1.3 hadoop3
192.168.1.4 hadoop4

其实原来的影响不大,只要你不乱改,再次重启查看,如果自己是自己ip监听,如果有节点,恭喜啊,问题解决,大吉大利。要是还没有解决,难过不,难过不!就问你难不难过!!


不急我们再来,万事开头难,中间难,结束难。

##权限问题##

hadoop结群的访问权限问题:如果你在每台机器上重新建立了用户,并且用户名还不同,会有问题的——权限问题

例如namenode为hadoop2用户,其它节点为hadoop3,hadoop4:master与slave之间通信正常,互相可以ping通,master的命令可以向slave下发,slave接收到启动命令,开始启动DataNode,并在启动成功后,向master节点发送心跳信息。在正常情况下,master接收到心跳信息,记录该节点的DataNode为正常,可以讲hdfs上的数据复制到该节点,并能够在该节点进行运算。
但是我这里的slave的心跳信息不能够传递给master,所以master认为该节点不存在!!因为你的namenode使用hadoop2用户,那么namenode的文件所有权属于hadoop2,当hadoop3、4返回心跳时,或者读取hadoop2文件时,会出现无权限问题。死得不明不白。

解决办法,不同的集群节点使用相同的用户(当然你也可以赋予权限),例如namenode为hadoop,那么datanode都为hadoop用户,完美解决,那个高兴啊!!!!!!!朋友如果你还没解决,很抱歉,你应该更难过!!!努力再看看吧!

这个错误我找了四天,在许多帮助下,共同完成,我很感谢帮助我的人。改正错误是使人进步的必要因素,与君共勉。







  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值