amazon emr mapreduce进度回滚?

iyr7buue  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(370)

嗨,我刚想到一个奇怪的任务:
我用emr运行javamapreduce作业。
数据大约是1t,我使用了1个主设备+8个从设备。
所有示例都是r2.2xlarge。
最初,一切看起来都很好,如下所示:

INFO mapreduce.Job:  map 0% reduce 0%
INFO mapreduce.Job:  map 1% reduce 0%
INFO mapreduce.Job:  map 2% reduce 0%
INFO mapreduce.Job:  map 3% reduce 0%
INFO mapreduce.Job:  map 4% reduce 0%
INFO mapreduce.Job:  map 5% reduce 0%
INFO mapreduce.Job:  map 6% reduce 0%
INFO mapreduce.Job:  map 7% reduce 0%

...
然而,我只是注意到进度变成了回滚(从7%下降到1%)。

INFO mapreduce.Job:  map 4% reduce 0%
INFO mapreduce.Job:  map 5% reduce 0%
INFO mapreduce.Job:  map 6% reduce 0%
INFO mapreduce.Job:  map 7% reduce 0%
INFO mapreduce.Job:  map 6% reduce 0%
INFO mapreduce.Job:  map 5% reduce 0%
INFO mapreduce.Job:  map 4% reduce 0%
INFO mapreduce.Job:  map 3% reduce 0%

....
当我像3g数据一样测试时,结果是对的,过程很顺利,没有出现这样的情况。
有人能告诉我为什么会发生这种情况吗?
最好的。

whitzsjs

whitzsjs1#

显示的作业进度是节点管理员报告的作业的已完成和正在进行的任务的统一状态。
作业进度的反转表明nodemanager已经崩溃,或者它很少向resourcemanager发送心跳和任务状态。在这两种情况下,rm都将其视为nm失败,并取消nm为特定未完成作业报告的所有任务进度。成功完成的任务和崩溃前正在运行的任务必须由applicationmaster重新运行。因此,失败nm对作业进度的贡献变得无效,并且重新计算作业进度。
在这里,输入量过大可能会导致oom错误或任务超时。默认情况下, mapreduce.task.timeout 为600毫秒(10分钟)。如果任务在超时期间没有显示任何进度,则任务将失败。单个作业多次失败(默认情况下为3次)会将nm列入黑名单,并重新计算进度。nodemanager日志将提供更清晰的信息。

相关问题