1. 背景
hadoop的推测执行
推测执行(Speculative Execution)
是指在分布式集群环境下,因为程序BUG,负载不均衡或者资源分布不均等原因,造成同一个job的多个task运行速度不一致
,有的task运行速度明显慢于其他task(比如:一个job的某个task进度只有10%,而其他所有task已经运行完毕),则这些task拖慢了作业的整体执行进度,为了避免这种情况发生,Hadoop会为该task启动备份任务
,让该speculative task与原始task同时处理一份数据,哪个先运行完,则将谁的结果作为最终结果
。
推测执行优化机制
采用了典型的以空间换时间
的优化策略,它同时启动多个相同task(备份任务)处理相同的数据块
,哪个完成的早,则采用哪个task的结果
,这样可防止拖后腿Task任务出现
,进而提高作业计算速度&#x