Hadoop1.2.1异常No route to host

Hadoop1.2.1异常Bad connect ack with firstBadLink (No route to host )

0.说明

Hadoop集群之前运行正常,增加了新节点之后,需要执行负载均衡等相关操作,执行过程当中出现问题。

1.运行异常

查看master上面的日志信息,发现:

[INFO] Exception in createBlockOutputStream java.io.IOException: Bad connect ack with firstBadLink xxx.xxx.xxx.xxx:50010  
[INFO] Abandoning block blk_6251991629364444942_18501788 

也有以下关键信息:

java.net.NoRouteToHostException: No route to host  
ERROR org.apache.hadoop.dfs.DataNode:  
xxx.xxx.xxx.xxx:50010:DataXceiver: java.net.NoRouteToHostException: No  
route to host  #没有到主机的路由

最后查看节点报告信息负载均衡也没有实现,数据也没有同步到新节点上。

2.解决办法

根据报错信息,我们都可以发现就是网络连接的问题,master和新节点之间的网络通信断了,所以才会没找到主机路由。办法如下:
1)从master主机ping其它主机,如果ping不通,原因可能是namenode节点的/etc/hosts配置错误。

2)从slave主机ping master主机名,如果ping不通,原因可能是datenode节点的/etc/hosts配置的配置错误。

3)查看master主机的9000(具体根据core-site.xml中的fs.default.name节点配置)端口,是否打开。

4)root用户关闭防火墙。这是最容易出现的问题。用此命令service iptables stop关闭后,一切正常,集群正常使用。关掉所有Datanode上的iptables:

  service iptables stop

关闭防火墙个人认为不值得推荐,但是每次出现网络问题关闭它都很有效。应该要设定相关的策略,允许开放Hadoop的特定端口。网上有个帖子,谈到了这个问题http://blog.chinaunix.net/uid-20424888-id-96029.html。

3.个人体验

如果不关闭防火墙(或者没有设置相关过滤规则),个人体验有以下几种情况出现:

第一:hdfs的web管理页面,打不开该节点的文件浏览页面,如打不开http://slave2:50075/browseDirectory.jsp?namenodeInfoPort=50070&dir=/。

第二:在删除和增加节点的时候,数据迁移处理时间长,而且会有很多warning,甚至不能正常完成相关操作。

第三:随便执行一个命令,或者其他操作,总会有这样或者那样的问题出现,不胜其烦。

转载于:https://www.cnblogs.com/fefjay/p/6047324.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值