Как изменить то, как Hadoop v1.x обрабатывает отставших

#hadoop

#hadoop

Вопрос:

Недавно я узнал о Hadoop v1.x и пытаюсь реализовать алгоритм, с которым я столкнулся в исследовательской работе. Этот алгоритм исследует отставшие задачи, чтобы увидеть, действительно ли их нужно уничтожить и перезапустить или им просто нужно больше времени. Не мог бы кто-нибудь указать мне правильное направление, где в исходном коде Hadoop я могу реализовать этот алгоритм?

Я искал параметры и классы .java в глубине загрузки исходного кода Hadoop v1.x, чтобы попытаться найти, где логика заключается в уничтожении задач, но безрезультатно. Я также в настоящее время не очень силен в своих навыках Java, но я знаю достаточно, чтобы справиться.

Вот алгоритм псевдокода:

 procedure RTUNER (Task T[])   
  for RT in T do        
    if RT in reduce then 
      flag=CHECKFORSTRAGGLER(RT) 
      REASONFORSTRAGGLER(RT) 
      decision=CHECKFORSPECULATION(RT)              
      if decision=true and CROSSSPECULATIVELIMIT()=false      
        then SPECULATE(RT) 
      end if
    end if
  end for 
end procedure
  

Комментарии:

1. Почему вы используете Hadoop 1.x? В любом случае, в Hadoop эта функция вызывается speculative.execution , вы можете выполнить поиск по ней в коде.

2. Спасибо, @tk421. Насколько я понимаю, Hadoop v2 заменил TaskTracker. Есть ли способ использовать этот алгоритм в Hadoop v2?