Straggle(掉隊者)是指那些跑的很慢但最終會成功完成的任務。一個掉隊的Map任務會阻止Reduce任務開始執行。
Hadoop不能自動糾正掉隊任務,但是可以識别那些跑的比較慢的任務,然後它會産生另一個等效的任務作為備份,并使用首先完成的那個任務的結果,此時另外一個任務則會被要求停止執行。這種技術稱為推測執行(speculative execution)。
預設使用推測執行。
屬性 | 描述 |
---|---|
mapreduce.map.speculative | 控制Map任務的推測執行(預設true) |
mapreduce.reduce.speculative | 控制Reduce任務的推測執行(預設true) |
mapreduce.job.speculative.speculativecap | 推測執行功能的任務能夠占總任務數量的比例(預設0.1,範圍0~1) |
mapreduce.job.speculative.slownodethreshold | 判斷某個TaskTracker是否适合啟動某個task的speculative task(預設1) |
mapreduce.job.speculative.slowtaskthreshold | 判斷某個task是否可以啟動speculative task(預設1) |
轉載于:https://www.cnblogs.com/yjt1993/p/9481625.html