【问题标题】:Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out随机播放错误:超过 MAX_FAILED_UNIQUE_FETCHES;救助
【发布时间】:2013-05-22 10:24:03
【问题描述】:

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

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

我的 /etc/hosts 在 master 中看起来像这样。(另外,master 本身就是一个奴隶):
127.0.0.1 本地主机
127.0.1.1 xyz
10.140.169.41 主
10.140.169.38 从站

/etc/hosts in slave 是这样的

127.0.0.1 本地主机
127.0.1.1 abc
10.140.169.41 主
10.140.169.38 从站

我已经关闭了防火墙

任何帮助将不胜感激

【问题讨论】:

  • 你解决了这个问题吗?我面临同样的问题,但只有当我的系统中有多个文件时。

标签: hadoop


【解决方案1】:

Shuffle 是中间数据从 mapper 传输到 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】:

    您的主机实际上被命名为“主”和“从”吗?确保/etc/hosts 文件中的条目与主机名匹配,即hostname 的输出。

    【讨论】:

    • 什么是name of the box
    【解决方案3】:

    Neha mentioned 在 shuffle 阶段需要在 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 2023-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多