【问题标题】:Too many fetch faliuers获取失败次数过多
【发布时间】:2015-01-17 05:42:42
【问题描述】:

我在 Ubuntu 12.04 和 Hadoop 1.2.1 上有一个设置,2 节点 hadoop 集群。 当我尝试运行 hadoop 字数统计示例时,我是 gettig "Too many fetch faliure error"。我参考了很多文章,但我无法弄清楚MastersSlaves/etc/hosts 文件中的条目应该是什么。 我的节点名称是“master”和ip 10.0.0.1 和“slaveone”和ip 10.0.0.2

我需要有关masterslave 节点中主、从和/etc/hosts 文件中的条目的帮助?

【问题讨论】:

  • 您运行 1.2.1 的任何原因?我相信它已被弃用。您应该强烈考虑加入 2.x 堆栈(可能是 2.4+)
  • 因为它是一个稳定的版本,我正在使用它
  • 它可能是一个稳定的版本,但它真的很旧,不推荐使用。尝试升级到更高的稳定版本,例如 2.4、2.5 或 2.6

标签: hadoop


【解决方案1】:

如果您由于某种原因无法升级集群,您可以尝试以下方法:

  1. 确保您的主机名绑定到网络 IP 并且 NOT 127.0.0.1 in /etc/hosts
  2. 确保您仅使用主机名而不是 IP 来引用服务。
  3. 如果以上设置正确,请尝试以下设置:

set mapred.reduce.slowstart.completed.maps=0.80
set tasktracker.http.threads=80
set mapred.reduce.parallel.copies=(>= 10)(10 should probably be sufficient)

还可以查看此 SO 帖子:Why I am getting "Too many fetch-failures" every other day

还有这个:Too many fetch failures: Hadoop on cluster (x2)

如果以上没有帮助,还有这个:http://grokbase.com/t/hadoop/common-user/098k7y5t4n/how-to-deal-with-too-many-fetch-failures 为简洁起见,为了节省时间,我将我认为最相关的内容放在这里。

造成这种情况的第 1 个原因是导致连接获得 映射输出失败。我见过: 1) 防火墙 2)错误配置的IP地址(即:任务跟踪器尝试获取 查找名称时收到错误的 IP 地址 带有地图段的tasktracker) 3) 很少见,服务 tasktracker 上的 http 服务器由于以下原因而过载 线程不足或侦听积压,如果数量 每个reduce的fetches很大并且reduce的数量或map的数量 很大。

可能还有其他情况,最近我有6000的时候发生了这种情况 在 10 个节点的集群上映射和 20 个减速器,我相信这是上面的案例 3。 因为我实际上并不需要减少(我通过计数器获得了我的汇总数据 在地图阶段)我从未重新调整过集群。

编辑:原始答案说“确保您的主机名绑定到网络 IP 和 /etc/hosts 中的 127.0.0.1”

【讨论】:

  • 是的,我已经尝试了一些排列和组合来在 /etc/hosts 文件中添加 IP 地址......但是使用我的配置,即节点名称是“主”,IP 为 10.0.0.1 和“从属”使用 ip 10.0.0.2,请问我在 MASTERS、SLAVES 和 /etc/hosts 文件中的条目应该是什么?
猜你喜欢
  • 2016-11-17
  • 2013-01-24
  • 2020-02-09
  • 1970-01-01
  • 1970-01-01
  • 2014-11-26
  • 2017-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多