我设置了一个2节点的Hadoop集群,并且运行start-df.sh和start-yarn.sh运行良好(即所有预期的服务都在运行,日志中没有错误)。
但是,当我实际尝试运行某个应用程序时,有几个任务失败了:
15/04/01 15:27:53 INFO mapreduce.Job:任务ID: attempt_1427894767376_0001_m_000008_2,状态:未成功
我检查了纱线和datanode日志,但没有报告。 在userlogs中,从属节点上的syslogs文件都包含以下错误消息:
2015-04-01 15:27:21,077 INFO [main] org.apache.hadoop.ipc.Client: 重试连接到服务器: slave.domain.be./127.0.1.1:53834。已经尝试了9次; 重试策略是RetryUpToMaximumCountWithFixedSleep(maxRetries = 10, sleepTime = 1000 MILLISECONDS) 2015-04-01 15:27:21,078警告[主要] org.apache.hadoop.mapred.YarnChild: 运行异常的孩子: java.net.ConnectException:Call From slave.domain.be./127.0.1.1到 slave.domain.be.:53834连接异常失败: java.net.ConnectException:连接被拒绝;有关更多详情,请参阅 http://wiki.apache.org/hadoop/ConnectionRefused at sun.reflect.NativeConstructorAccessorImpl.newInstance0(原生方法)
所以问题是奴隶无法连接到自己..
我检查了在端口53834上监听的从属节点上是否有进程正在运行,但没有进程。 然而,所有人都期望'正在监听港口(50020,50075,...)。在我的配置中我没有使用端口53834.它在不同的运行中始终是一个不同的端口。
有关解决此问题的任何想法吗?
答案 0 :(得分:0)
您的错误可能是由于您的hosts文件中的loopback
地址造成的。转到/etc/hosts
文件并在从属节点和主节点(如有必要)中使用127.0.1.1
注释该行。现在启动hadoop进程。
<强>编辑:强>
在终端中执行此操作以在没有root权限的情况下编辑hosts
文件:
sudo bash
输入您当前的用户密码以进入root登录。您现在可以使用以下命令编辑主机文件:
nano /etc/hosts