Hadoop 洗牌错误:超过最大值\u失败\u唯一\u匹配:退出

Hadoop 洗牌错误:超过最大值\u失败\u唯一\u匹配:退出,hadoop,mapreduce,Hadoop,Mapreduce,我是hadoop新手,我正在尝试执行wordcount示例。我的计算机上有一个由虚拟机生成的4个节点组成的集群。每次作业完成映射任务,但约16%时的reduce任务都会显示此错误: 洗牌错误:超过最大值\u失败\u唯一\u回迁;救援 12/05/24 04:43:12 WARN mapred.JobClient:读取任务outputmachine3 VirtualBox时出错 看起来从机无法从其他从机检索数据。在一些链接上,我发现它可能是由于/etc/hosts文件中的不一致性造成的。但我已经核

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

洗牌错误:超过最大值\u失败\u唯一\u回迁;救援

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


看起来从机无法从其他从机检索数据。在一些链接上,我发现它可能是由于/etc/hosts文件中的不一致性造成的。但我已经核对过了,它们都是一致的。有人能帮我一下吗?

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

curl -I http://node1:50060/
确保用$HADOOP_HOME/conf/slaves文件中的每个值替换上面的'node1'

编辑后发现这很可能是DNS问题,以下是您应该尝试的内容:

检查${HADOOP_HOME}/conf/slaves文件-这里的每个条目都需要位于集群中每个节点的/etc/hosts文件中,或者必须将它们放在网络DNS服务器中 在集群中的每个节点上声明主机文件或配置DNS服务器后,登录到每个节点并检查是否可以根据从属文件中的名称ping其他集群节点。最后,您可以使用从属文件中的机器名将tasktracker端口50060从每个节点卷曲到其他节点 为了安全起见,重新启动mapreduce服务
在这种情况下,是否有防火墙阻止任务跟踪器的公共hadoop端口50060上的集群节点之间的通信。通过在端口50060上执行从一个节点到另一个节点的卷曲测试,并检查是否获得http响应代码:

curl -I http://node1:50060/
确保用$HADOOP_HOME/conf/slaves文件中的每个值替换上面的'node1'

编辑后发现这很可能是DNS问题,以下是您应该尝试的内容:

检查${HADOOP_HOME}/conf/slaves文件-这里的每个条目都需要位于集群中每个节点的/etc/hosts文件中,或者必须将它们放在网络DNS服务器中 在集群中的每个节点上声明主机文件或配置DNS服务器后,登录到每个节点并检查是否可以根据从属文件中的名称ping其他集群节点。最后,您可以使用从属文件中的机器名将tasktracker端口50060从每个节点卷曲到其他节点 为了安全起见,重新启动mapreduce服务
通过在终端中键入$hostname来检查每个节点中的主机名。确保主节点中的机器主机名与从节点中的从机名相同。如果不是,则使用节点名master/slave更改/etc/hostname。然后重新启动系统。它会起作用的


通过在终端中键入$hostname来检查每个节点中的主机名。确保主节点中的机器主机名与从节点中的从机名相同。如果不是,则使用节点名master/slave更改/etc/hostname。然后重新启动系统。它会起作用的


您是否可以发布某个reduce任务尝试的日志扫描您发布某个reduce任务尝试的日志我已通过托管虚拟主机专用网络来创建网络,以在节点之间进行通信。我不认为存在任何防火墙节点正在侦听端口50060确定端口50060上从一个节点到另一个节点的卷曲是否有效?返回:卷曲:无法连接到主机,您尝试连接的节点的tasktracker日志是否显示它正在端口50060上运行。你能从一台主机ping到另一台主机吗?我已经创建了一个虚拟主机专用网络,用于节点之间的通信。我不认为存在任何防火墙节点正在侦听端口50060确定端口50060上从一个节点到另一个节点的卷曲是否有效?返回:卷曲:无法连接到主机,您尝试连接的节点的tasktracker日志是否显示它正在端口50060上运行。你能从一个主机ping到另一个主机吗?谢谢!我欠你一杯啤酒;。。我被困在那里很久了。谢谢我欠你一杯啤酒;。。我被困在那里很久了。