Я пытаюсь запустить Fair Scheduler, но он не назначает задачи Map некоторым узлам, когда выполняется только одно задание. Насколько я понимаю, Fair Scheduler будет использовать ограничения слотов conf
, если не существует нескольких заданий, и в этот момент начнутся вычисления справедливости. Я также попытался установить все очереди в FIFO в fair-scheduler.xml
, но я получаю те же результаты .
Я установил планировщик во всех mapred-site.xml
файлах с параметром mapreduce.jobtracker.taskscheduler
(хотя я полагаю, что это требуется только для JobTracker), и у некоторых узлов нет проблем при получении и запуске задач Map. Однако другие узлы либо никогда не получают задачи Map, либо получают один раунд задач Map (т. Е. Все слоты заполнены один раз), а затем никогда не получают их снова.
Я попробовал это как предварительное условие для разработки своего собственного LoadManager, поэтому я решил собрать отладочный LoadManager. Из сообщений журнала видно, что проблемные узлы продолжают запрашивать задачи Map и их слоты пусты. Однако они никогда не назначаются.
Все узлы отлично работают с планировщиком по умолчанию. У меня только появилась эта проблема, когда я включил Fair Scheduler.
Есть идеи? У кого-то это работает, и я сделал шаг, который я пропустил?
РЕДАКТИРОВАТЬ: Стоит отметить, что на странице веб-интерфейса Fair Scheduler указан правильный счет Fair Share, но столбец Running всегда меньше. Я использую пулы для каждого пользователя по умолчанию, и у меня есть только 1 пользователь и 1 задание одновременно.