获取失败太多:集群上的 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)的主要内容,如果未能解决你的问题,请参考以下文章
最近有安装了一次hadoop集群,NameNode启动失败,及原因
Kafka:ZK+Kafka+Spark Streaming集群环境搭建针对hadoop2.9.0启动DataManager失败问题
Hadoop集群安全模式退出失败问题处理,Safe mode is ON。hdfs dfsadmin -safemode leave 或 forceExit