随机错误:超过MAX_FAILED_UNIQUE_FETCHES;想逃出

时间:2013-05-22 10:24:03

标签: hadoop

我正在尝试在两个节点集群上运行mapreduce作业。我收到以下错误 随机错误:超过MAX_FAILED_UNIQUE_FETCHES;舀出。

我读了一些帖子,说这是由于/ etc / hosts中的问题

我在master中的/ etc / hosts看起来像这样。(另外,master本身是奴隶):
127.0.0.1 localhost
127.0.1.1 xyz
10.140.169.41主人 10.140.169.38 slave

奴隶中的

/ etc / hosts看起来像这样

127.0.0.1 localhost
127.0.1.1 abc
10.140.169.41主人 10.140.169.38 slave

我已关闭防火墙

非常感谢任何帮助

3 个答案:

答案 0 :(得分:0)

你的主人真的被命名为“主人”和“奴隶”吗?确保/etc/hosts文件中的条目与主机名称匹配,即hostname的输出。

答案 1 :(得分:0)

混洗是将中间数据从映射器传输到reducer的阶段。您还没有提到为代码运行设置的Map Reduce属性,但我建议您尝试设置以下属性:

<property>
    <name>mapreduce.reduce.shuffle.input.buffer.percent</name>
    <value>0.20</value>
</property>
<property>
    <name>mapreduce.reduce.shuffle.parallelcopies</name>
    <value>4</value>
</property>

如果您需要有关如何计算缓冲区输入百分比的说明,请查看:https://issues.apache.org/jira/browse/MAPREDUCE-6447/

感谢。

答案 2 :(得分:0)

在混洗阶段,如Neha mentioned一样,数据需要在hadoop集群中传输。因此,您应该检查群集中可能导致传输此数据故障的数据节点,名称节点和辅助节点的日志输出。

例如,我遇到一个问题,由于我的core-site.yml文件中的配置错误,无法正确地将kerberos原则映射到hdfs系统用户。

在另一个示例中,我收到了错误消息

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target