获取失败太多:集群上的 Hadoop (x2)

Posted

技术标签:

【中文标题】获取失败太多:集群上的 Hadoop (x2)【英文标题】:Too many fetch failures: Hadoop on cluster (x2) 【发布时间】:2011-05-20 14:24:01 【问题描述】:

我在过去一周左右一直在使用 Hadoop(试图掌握它),尽管我已经能够设置一个多节点集群(2 台机器:1 台笔记本电脑和一个小型台式机)并检索结果,我在运行 hadoop 作业时似乎总是遇到“Too many fetch failures”。

一个示例输出(在一个简单的字数示例中)是:

hadoop@ap200:/usr/local/hadoop$ bin/hadoop jar hadoop-examples-0.20.203.0.jar wordcount sita sita-output3X
11/05/20 15:02:05 INFO input.FileInputFormat: Total input paths to process : 7
11/05/20 15:02:05 INFO mapred.JobClient: Running job: job_201105201500_0001
11/05/20 15:02:06 INFO mapred.JobClient:  map 0% reduce 0%
11/05/20 15:02:23 INFO mapred.JobClient:  map 28% reduce 0%
11/05/20 15:02:26 INFO mapred.JobClient:  map 42% reduce 0%
11/05/20 15:02:29 INFO mapred.JobClient:  map 57% reduce 0%
11/05/20 15:02:32 INFO mapred.JobClient:  map 100% reduce 0%
11/05/20 15:02:41 INFO mapred.JobClient:  map 100% reduce 9%
11/05/20 15:02:49 INFO mapred.JobClient: Task Id :      attempt_201105201500_0001_m_000003_0, Status : FAILED
Too many fetch-failures
11/05/20 15:02:53 INFO mapred.JobClient:  map 85% reduce 9%
11/05/20 15:02:57 INFO mapred.JobClient:  map 100% reduce 9%
11/05/20 15:03:10 INFO mapred.JobClient: Task Id : attempt_201105201500_0001_m_000002_0, Status : FAILED
Too many fetch-failures
11/05/20 15:03:14 INFO mapred.JobClient:  map 85% reduce 9%
11/05/20 15:03:17 INFO mapred.JobClient:  map 100% reduce 9%
11/05/20 15:03:25 INFO mapred.JobClient: Task Id : attempt_201105201500_0001_m_000006_0, Status : FAILED
Too many fetch-failures
11/05/20 15:03:29 INFO mapred.JobClient:  map 85% reduce 9%
11/05/20 15:03:32 INFO mapred.JobClient:  map 100% reduce 9%
11/05/20 15:03:35 INFO mapred.JobClient:  map 100% reduce 28%
11/05/20 15:03:41 INFO mapred.JobClient:  map 100% reduce 100%
11/05/20 15:03:46 INFO mapred.JobClient: Job complete: job_201105201500_0001
11/05/20 15:03:46 INFO mapred.JobClient: Counters: 25
11/05/20 15:03:46 INFO mapred.JobClient:   Job Counters 
11/05/20 15:03:46 INFO mapred.JobClient:     Launched reduce tasks=1
11/05/20 15:03:46 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=72909
11/05/20 15:03:46 INFO mapred.JobClient:     Total time spent by all reduces waiting  after reserving slots (ms)=0
11/05/20 15:03:46 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0
11/05/20 15:03:46 INFO mapred.JobClient:     Launched map tasks=10
11/05/20 15:03:46 INFO mapred.JobClient:     Data-local map tasks=10
11/05/20 15:03:46 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=76116
11/05/20 15:03:46 INFO mapred.JobClient:   File Output Format Counters 
11/05/20 15:03:46 INFO mapred.JobClient:     Bytes Written=1412473
11/05/20 15:03:46 INFO mapred.JobClient:   FileSystemCounters
11/05/20 15:03:46 INFO mapred.JobClient:     FILE_BYTES_READ=4462381
11/05/20 15:03:46 INFO mapred.JobClient:     HDFS_BYTES_READ=6950740
11/05/20 15:03:46 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=7546513
11/05/20 15:03:46 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=1412473
11/05/20 15:03:46 INFO mapred.JobClient:   File Input Format Counters 
11/05/20 15:03:46 INFO mapred.JobClient:     Bytes Read=6949956
11/05/20 15:03:46 INFO mapred.JobClient:   Map-Reduce Framework
11/05/20 15:03:46 INFO mapred.JobClient:     Reduce input groups=128510
11/05/20 15:03:46 INFO mapred.JobClient:     Map output materialized bytes=2914947
11/05/20 15:03:46 INFO mapred.JobClient:     Combine output records=201001
11/05/20 15:03:46 INFO mapred.JobClient:     Map input records=137146
11/05/20 15:03:46 INFO mapred.JobClient:     Reduce shuffle bytes=2914947
11/05/20 15:03:46 INFO mapred.JobClient:     Reduce output records=128510
11/05/20 15:03:46 INFO mapred.JobClient:     Spilled Records=507835
11/05/20 15:03:46 INFO mapred.JobClient:     Map output bytes=11435785
11/05/20 15:03:46 INFO mapred.JobClient:     Combine input records=1174986
11/05/20 15:03:46 INFO mapred.JobClient:     Map output records=1174986
11/05/20 15:03:46 INFO mapred.JobClient:     SPLIT_RAW_BYTES=784
11/05/20 15:03:46 INFO mapred.JobClient:     Reduce input records=201001

我对这个问题进行了谷歌搜索,apache 的人似乎暗示它可能是网络问题(或与 /etc/hosts 文件有关)或从节点上的损坏磁盘。

补充一点:我确实在 namenode 管理面板 (localhost:50070/dfshealth) 上看到了 2 个“活动节点”,在 Map/reduce Admin 下,我也看到了 2 个节点。

关于如何避免这些错误的任何线索? 提前致谢。

编辑:1:

tasktracker 日志开启:http://pastebin.com/XMkNBJTh 数据节点日志开启:http://pastebin.com/ttjR7AYZ

非常感谢。

【问题讨论】:

确切的堆栈跟踪是什么?请发布您的任务日志。 感谢托马斯的回复。我已经粘贴了上面的日志。 datanode 看起来不错,但 tasktracker 存在严重问题。您是否使用 HDParm 检查了磁盘?你有网络问题吗? 您好托马斯,感谢您的回复。请问为什么说tasktracker有严重的问题?不,我没有使用 HDParm 检查磁盘。我似乎确实有一些网络问题,但我无法准确指出这些问题发生的位置。同样奇怪的是,我在所有运行中都出现了 3 个 Fetch Failures:我觉得这很奇怪。 他们总是在同一个主机上吗?如果是这样,您应该检查网络驱动程序和硬盘 【参考方案1】:

修改datanode节点/etc/hosts文件。

每行分为三个部分。第一部分是网络IP地址,第二部分是主机名或域名,第三部分是主机别名详细步骤如下:

    首先检查主机名:

    cat/proc/sys/kernel/主机名

    您将看到HOSTNAME 属性。修改后面IP的值就OK然后退出。

    使用命令:

    hostname ***. ***. ***. ***

    Asterisk 被相应的 IP 代替。

    同样修改hosts配置,如下:

    127.0.0.1 localhost.localdomain 本地主机 :: 1 localhost6.localdomain6 localhost6 10.200.187.77 10.200.187.77 hadoop-datanode

如果IP地址配置成功,或者显示主机名有问题,继续修改hosts文件。

【讨论】:

【参考方案2】:

以下解决方案肯定会起作用

1.删除或注释带有Ip 127.0.0.1和127.0.1.1的行

2.使用主机名而不是别名来引用主机文件中的节点和hadoop目录中存在的主/从文件

  -->in Host file 172.21.3.67 master-ubuntu

  -->in master/slave file master-ubuntu

3。请参阅 namenode 的 NameSpaceId = Datanode 的 NameSpaceId

【讨论】:

【参考方案3】:

我遇到了同样的问题:“获取失败太多”和非常慢的 Hadoop 性能(简单的 wordcount 示例需要 20 多分钟才能在强大的服务器的 2 节点集群上运行)。我还收到“WARN mapred.JobClient: Error reading task outputConnection denied”错误。

当我按照 Thomas Jungblut 的说明进行操作时,问题已得到解决:我从从属配置文件中删除了我的主节点。之后,错误消失了,wordcount 示例只用了 1 分钟。

【讨论】:

以上是关于获取失败太多:集群上的 Hadoop (x2)的主要内容,如果未能解决你的问题,请参考以下文章

搭建Zookeeper集群服务启动失败

最近有安装了一次hadoop集群,NameNode启动失败,及原因

Ambari hadoop 安装失败

Kafka:ZK+Kafka+Spark Streaming集群环境搭建针对hadoop2.9.0启动DataManager失败问题

Hadoop集群安全模式退出失败问题处理,Safe mode is ON。hdfs dfsadmin -safemode leave 或 forceExit

将数据从 gs 存储桶移动到 s3 亚马逊存储桶的 GCP dataproc 集群 hadoop 作业失败 [控制台]