hadoop问题之java.net.NoRouteToHostException: 没有到主机的路由

原创 2015年08月02日 23:33:32
hadoop启动过程中遇到下面的问题:
2015-08-02 19:43:20,771 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG:   host = slave1/192.168.198.21
STARTUP_MSG:   args = []
STARTUP_MSG:   version = 1.2.1
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG:   java = 1.7.0_79
************************************************************/
2015-08-02 19:43:20,902 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2015-08-02 19:43:20,910 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered.
2015-08-02 19:43:20,911 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
2015-08-02 19:43:20,911 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: DataNode metrics system started
2015-08-02 19:43:21,033 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source ugi registered.
2015-08-02 19:43:21,036 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists!
2015-08-02 19:43:30,237 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.198.20:9000. Already tried 8 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2015-08-02 19:43:31,239 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.198.20:9000. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2015-08-02 19:43:31,247 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Call to master/192.168.198.20:9000 failed on local exception: java.net.NoRouteToHostException: 没有到主机的路由
at org.apache.hadoop.ipc.Client.wrapException(Client.java:1150)
at org.apache.hadoop.ipc.Client.call(Client.java:1118)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:229)
at com.sun.proxy.$Proxy3.getProtocolVersion(Unknown Source)
at org.apache.hadoop.ipc.RPC.checkVersion(RPC.java:422)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:414)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:392)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:374)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:453)
at org.apache.hadoop.ipc.RPC.waitForProxy(RPC.java:335)
at org.apache.hadoop.ipc.RPC.waitForProxy(RPC.java:300)
at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:385)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:321)
at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1712)
at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1651)
at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1669)
at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1795)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1812)
Caused by: java.net.NoRouteToHostException: 没有到主机的路由

at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)


分析:

这种没有到主机的路由问题屡见不鲜了,一般要么是namenode 与 datanode 主机名间本身互ping就ping不通,这个概率较小,因为都知道要保证master与slaves 节点是能正常通信,所以都会检查。那么最有可能就是防火墙没有关闭,或者因为查看不出防火墙状态,所以误以为防火墙关闭了。


解决方案:
(1)从namenode主机ping其它slaves节点的主机名(注意是slaves节点的主机名),如果ping不通,原因可能是namenode节点的/etc/hosts 未配置主机名与IP地址的映射关系,补全主机名与IP地址的映射关系。


(2)从datanode主机ping master节点的主机名(注意也是节点的主机名,如果ping不通,原因可能是datenode节点的/etc/hosts 未配置主机名与IP地址的映射关系,补全主机名与IP地址的映射关系。


(3)查看各机器节点的防火墙是否关闭(
或者设置防火墙开启,但对我们的指定端口开放,最好是关闭防火墙):

以下针对不同版本的Linux系统检查防火墙的状态,及关闭防火墙:

---------------------------------------------------------------

Ubuntu(ubuntu-12.04-desktop-amd64

查看防火墙状态:ufw status

关闭防火墙:ufw disable

---------------------------------------------------------------

centos6.0

查看防火墙状态:service iptables status

关闭防火墙:chkconfig iptables off    #开机不启动防火墙服务

--------------------------------------------------------------

centos7.0(默认是使用firewall作为防火墙,如若未改为iptables防火墙,使用以下命令查看和关闭防火墙)

查看防火墙状态:firewall-cmd --state

关闭防火墙:systemctl stop firewalld.service







版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

记录Linux下安装elasticSearch时遇到的一些错误

1、外网访问9200端口 系统centos7.0安装elasticsearch后本机可以访问127.0.0.1:9200,但不能访问【公网IP:9200】如何解决? 修改配置文件 co...

Linux解决安装ElasticSearch启动报错方法

Linux安装ElasticSearch后,ElasticSearch是不能用root用户启动的,以root用户启动会报错 解决方法:  我们就需要自己新建一个用户和用户组,这个用户和用户组是专门来管...

java.net.NoRouteToHostException:No route to host

系统的服务开启后,无法通过网页或eclipse查看是否连接成功,并且连接时报一下错误: java.net.NoRouteToHostException:No route to host 上网查...
  • bslzl
  • bslzl
  • 2012-09-03 11:27
  • 14830

安装zookeeper出现java.net.NoRouteToHostException: 没有到主机的路由

我采用的是CentOS7操作系统安装zookeeper,我的配置没有问题,三个节点启动后(./zkServer.sh start),用jps查看进程,QuorumPeerMain进程都正常启动 但是 ...

hadoop java.net.NoRouteToHostException: 没有到主机的路由

在往hdfs 发送文件的时候 hadoop dfs -put ./test.log / 发送如下错误 15/05/20 15:00:52 WARN util.NativeCodeLoader: U...

解决CentOS7关闭/开启防火墙出现Unit iptables.service failed to load: No such file or directory.

CentOS7中执行 service iptables start/stop 会报错Failed to start iptables.service: Unit iptables.service fa...

解决ftp登录遇到connect:没有到主机的路由

1. connect:没有到主机的路由今天使用vsftpd配置好ftp服务器,允许匿名登录。测试本机能否匿名登录:#ftp 127.0.0.1 #Connected to 127.0.0.1 (12...

hive 报:java.net.NoRouteToHostException: 没有到主机的路由

这种没有到主机的路由问题屡见不鲜了,一般要么是namenode 与 datanode 主机名间本身互ping就ping不通,这个概率较小,因为都知道要保证master与slaves 节点是能正常通信,...

没有到主机的路由

没有到主机的路由这种问题很常见,多数是由机器的防火墙没有关闭。Ubuntu 查看防火墙状态 ufw status 关闭防火墙 ufw disablecentos6 查看防火墙状态 service ip...

linux查看防火墙状态及开启关闭命令

两张方式: 一、service方式 查看防火墙状态:  [root@centos6 ~]# service iptables status iptables:未运行防火墙。 开启防火墙: [roo...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)