随机错误:超出max_failed_unique_matche:纾困

时间:2012-05-24 00:06:29

标签: hadoop mapreduce

我是hadoop的新手,我正在尝试执行wordcount示例。我的计算机上有一个由虚拟机组成的4个节点的集群。每次作业完成地图任务,但减少任务时约16%显示此错误:

随机错误:超过MAX_FAILED_UNIQUE_FETCHES;舀出。

12/05/24 04:43:12 WARN mapred.JobClient:读取任务outputmachine3-VirtualBox时出错

看起来奴隶无法从其他奴隶检索数据。在某些链接上,我发现它可能是由于/ etc / hosts文件中的不一致而导致的。但是我已经对它们进行了交叉检查,它们都是一致的。任何人都可以帮助我

2 个答案:

答案 0 :(得分:3)

是否存在阻止公共hadoop端口上的群集节点之间通信的防火墙(在这种情况下为任务跟踪器为50060)。通过在端口50060上从一个节点到另一个节点进行卷曲测试并检查是否获得了http响应代码:

curl -I http://node1:50060/

请务必将上面的'node1'替换为$HADOOP_HOME/conf/slaves文件中的每个值

编辑所以事实证明这很可能是一个DNS问题,这是你应该尝试的:

  • 检查${HADOOP_HOME}/conf/slaves文件 - 此处的每个条目都需要位于群集中每个节点的/ etc / hosts文件中,或者您必须将它们放在网络DNS服务器中
  • 在群集中声明主机文件 ON EVERY NODE (或配置DNS服务器)后,登录每个节点并检查是否可以通过名称中的其他群集节点执行ping操作奴隶档案。最后断言你可以将tasktracker(端口50060)从每个节点卷曲到其他节点(再次使用从属文件中的机器名)。
  • 重新启动mapreduce服务,只是为了安全

答案 1 :(得分:1)

通过在终端中键入$ hostname来检查每个节点中的主机名。确保获得与计算机相同的名称(主节点中的主节点和从节点中的从节点)。如果没有,请使用您的节点名称(主/从)更改/ etc / hostname。然后重启系统。它会奏效。

SIMPLE Groups