其他分享
首页 > 其他分享> > 任务推测执行

任务推测执行

作者:互联网

1.作业完成时间取决于最慢的任务完成时间

一个作业由若干个Map任务和Reduce任务构成。因硬件老化、软件Bug等,某些任务可能运行非常慢。

2.推测执行机制

发现拖后腿的任务,比如某个任务运行速度远慢于任务平均速度。为拖后腿任务启动一个备份任务,同时运行。谁先运行完,则采用谁的结果

3.执行推测任务的前提条件

(1)每个Task只能有一个备份任务;

(2)当前Job已完成的Task必须不小于0.05(5%)

(3)开启推测执行参数设置。Hadoop2.7.2 mapred-site.xml文件中默认是打开的。

4.不能启用推测执行机制情况

(1)任务间存在严重的负载倾斜;

(2)特殊任务,比如任务向数据库中写数据

5. 推测执行算法的原理

(1)MR总是选择(estimateEndTime - estimateEndTime`)差值最大的任务,并为之启动备份任务

(2)为了防止大量任务同时启动备份造成的资源浪费,MR为每个作业设置了同时启动的备份任务数目上限

(3)推测执行机制实际上采用了经典的优化算法:以空间换时间,它同时启动多个相同任务处理相同的数据,并让这些任务竞争以缩短数据处理时间,显然,这种方法需要占用更多的资源,在集群资源紧缺的情况下,应合理使用该机制,争取在多用少量资源的情况下,减少作业的计算时间。

标签:启动,备份,作业,推测,任务,执行
来源: https://www.cnblogs.com/hapyygril/p/14035697.html