gpt4 book ai didi

java - Hadoop Job 在最后几个百分比时真的很慢吗?

转载 作者:可可西里 更新时间:2023-11-01 16:14:20 25 4
gpt4 key购买 nike

我一直在 Hadoop 集群版本 0.20.2 上运行作业,直到最近一切都正常,没有任何原因,也没有任何错误, map task 的最后几个百分比比作业的其余部分花费的时间长得多,其中最后 2% 需要 30 秒,其余工作不到 30 秒。

无论输入大小如何,现在所有作业都会发生这种情况

这是一个输入数据为 4GB 的示例,在此问题之前整个作业从提交到完成需要 37 秒,但现在需要一分钟多:

14/08/01 20:57:12 INFO input.FileInputFormat: Total input paths to process : 1
14/08/01 20:57:12 INFO mapred.JobClient: Running job: job_201407301409_0033
14/08/01 20:57:13 INFO mapred.JobClient: map 0% reduce 0%
14/08/01 20:57:33 INFO mapred.JobClient: map 1% reduce 0%
14/08/01 20:57:34 INFO mapred.JobClient: map 7% reduce 0%
14/08/01 20:57:35 INFO mapred.JobClient: map 13% reduce 0%
14/08/01 20:57:36 INFO mapred.JobClient: map 21% reduce 0%
14/08/01 20:57:37 INFO mapred.JobClient: map 33% reduce 0%
14/08/01 20:57:38 INFO mapred.JobClient: map 39% reduce 0%
14/08/01 20:57:39 INFO mapred.JobClient: map 45% reduce 0%
14/08/01 20:57:40 INFO mapred.JobClient: map 54% reduce 0%
14/08/01 20:57:41 INFO mapred.JobClient: map 60% reduce 0%
14/08/01 20:57:42 INFO mapred.JobClient: map 65% reduce 0%
14/08/01 20:57:43 INFO mapred.JobClient: map 72% reduce 0%
14/08/01 20:57:44 INFO mapred.JobClient: map 77% reduce 0%
14/08/01 20:57:45 INFO mapred.JobClient: map 79% reduce 0%
14/08/01 20:57:46 INFO mapred.JobClient: map 86% reduce 0%
14/08/01 20:57:47 INFO mapred.JobClient: map 87% reduce 0%
14/08/01 20:57:48 INFO mapred.JobClient: map 88% reduce 0%
14/08/01 20:57:49 INFO mapred.JobClient: map 90% reduce 0%
14/08/01 20:57:51 INFO mapred.JobClient: map 92% reduce 0%
14/08/01 20:57:52 INFO mapred.JobClient: map 93% reduce 0%
14/08/01 20:57:53 INFO mapred.JobClient: map 94% reduce 0%
14/08/01 20:57:54 INFO mapred.JobClient: map 95% reduce 0%
14/08/01 20:57:55 INFO mapred.JobClient: map 96% reduce 0%
14/08/01 20:57:57 INFO mapred.JobClient: map 98% reduce 0%
14/08/01 20:58:16 INFO mapred.JobClient: map 99% reduce 0%
14/08/01 20:58:28 INFO mapred.JobClient: map 100% reduce 0%
14/08/01 20:58:30 INFO mapred.JobClient: Job complete: job_201407301409_0033
14/08/01 20:58:30 INFO mapred.JobClient: Counters: 8
14/08/01 20:58:30 INFO mapred.JobClient: Job Counters
14/08/01 20:58:30 INFO mapred.JobClient: Rack-local map tasks=19
14/08/01 20:58:30 INFO mapred.JobClient: Launched map tasks=61
14/08/01 20:58:30 INFO mapred.JobClient: Data-local map tasks=42
14/08/01 20:58:30 INFO mapred.JobClient: FileSystemCounters
14/08/01 20:58:30 INFO mapred.JobClient: HDFS_BYTES_READ=4002108148
14/08/01 20:58:30 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=40063116
14/08/01 20:58:30 INFO mapred.JobClient: Map-Reduce Framework
14/08/01 20:58:30 INFO mapred.JobClient: Map input records=2200000
14/08/01 20:58:30 INFO mapred.JobClient: Spilled Records=0
14/08/01 20:58:30 INFO mapred.JobClient: Map output records=2200000

我想知道是否有人知道或可以解释何时或为何会发生这种情况。

顺便说一句,我已将 reducer 的数量设置为 0,因为我不需要它们来完成这项工作,所以我的工作会在所有 map task 完成后完成。

最佳答案

这是在运行 hadoop 作业时通常会注意到的事情。当 map 任务接近完成时,所有 map 任务的结果将合并在一起,这涉及结果的组合和排序。

当 Mapper 仍在运行时,组合和排序并行开始,并在所有 map task 完成时完成。有些 map 提前完成,有些需要更长的时间,取决于机器的资源,导致延迟。我建议你阅读我在搜索更技术性的解释时遇到了本文的“映射过程中发生的情况”部分 link

希望对您有所帮助。

关于java - Hadoop Job 在最后几个百分比时真的很慢吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25087895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com