#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?