hadoop多节点设置时出现问题。一旦我在master上启动hdfs demon(bin/start dfs.sh)
我在主人的日志下面找到了
starting namenode, logging to /home/hduser/hadoop/libexec/../logs/hadoop-hduser-namenode-localhost.localdomain.out
slave: Warning: $HADOOP_HOME is deprecated.
slave:
slave: starting datanode, logging to /home/hduser/hadoop/libexec/../logs/hadoop-hduser-datanode-localhost.localdomain.out
master: Warning: $HADOOP_HOME is deprecated.
master:
master: starting datanode, logging to /home/hduser/hadoop/libexec/../logs/hadoop-hduser-datanode-localhost.localdomain.out
master: Warning: $HADOOP_HOME is deprecated.
master:
master: starting secondarynamenode, logging to /home/hduser/hadoop/libexec/../logs/hadoop-hduser-secondarynamenode-localhost.localdomain.out
我在slave@
hadoop-hduser-datanode-localhost.localdomain.log文件
有人能告诉我,设置有什么问题吗。
2013-07-24 12:10:59,373 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.0.1:54310. Already tried 8 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-07-24 12:11:00,374 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.0.1:54310. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-07-24 12:11:00,377 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Call to master/192.168.0.1:54310 failed on local exception: java.net.NoRouteToHostException: No route to host
at org.apache.hadoop.ipc.Client.wrapException(Client.java:1144)
at org.apache.hadoop.ipc.Client.call(Client.java:1112)
1条答案
按热度按时间ztigrdn81#
确保namenode运行正常。如果它已经在运行,请查看连接中是否有任何问题。您的datanode无法与namenode对话。确保已在从属服务器的/etc/hosts文件中添加了计算机的ip和主机名。尝试telnet到192.168.0.1:54310,看看是否可以连接。
向我们展示nn日志会很有帮助。
编辑:
看看wiki对这个问题的看法:当网络上的一台机器不知道如何将tcp数据包发送到指定的机器时,会出现一个tcp no route to host错误—通常被 Package 在java ioexception中。
一些可能的原因(非排他性列表):
配置文件中远程计算机的主机名错误。
客户机的主机表//etc/hosts的目标主机IP地址无效。
dns服务器的主机表的目标主机IP地址无效。
客户端的路由表(在linux中,iptables)是错误的。
dhcp服务器正在发布错误的路由信息。
客户机和服务器位于不同的子网上,不设置为相互通信。这可能是意外,也可能是故意锁定hadoop集群。
这些机器正在尝试使用ipv6进行通信。hadoop目前不支持ipv6
主机的ip地址已更改,但长寿命的jvm正在缓存旧值。这是JVM的一个已知问题(有关详细信息和解决方案,请搜索“java负dns缓存”)。
快速解决方案:重新启动JVM。
这些都是网络配置/路由器问题。因为这是你的网络,只有你才能发现并追踪问题。