Подтвердить что ты не робот

Что такое задержка планировщика в временной шкале времени искровой UI

Я использую среду YARN для запуска искровых программ, с опцией --master yarn-cluster.

Когда я открываю мастер приложений приложений искры, я видел много Scheduler Delay в стадии. Некоторые из них составляют более 10 минут. Интересно, что это такое и почему так долго?

Обновление: Обычно операции, такие как aggregateByKey, занимают гораздо больше времени (например, задержка планировщика), прежде чем исполнители действительно начнут выполнять задачи. Почему?

4b9b3361

Ответ 1

Откройте "Показать дополнительные показатели" (щелкните правой кнопкой, чтобы он указывал вниз) и наведите указатель мыши на флажок "Задержка планировщика". Он показывает эту подсказку:

Задержка планировщика включает время отправки задачи от планировщика к исполнителю и время отправки результата задачи от исполнителя планировщик. Если задержка планировщика велика, рассмотрите возможность уменьшения размер задач или уменьшение размера результатов задачи.

Планировщик является частью мастера, который делит задание на этапы задач и работает с базовой инфраструктурой кластера, чтобы распределять их по кластеру.

Ответ 2

Посмотрите на комментарий класса TaskSetManager:

.. Расписание задач в пределах одной TaskSet в TaskSchedulerImpl. Этот класс отслеживает каждую задачу, повторяет задачи, если они терпят неудачу (до ограниченного количества раз), и обрабатывает l ocality-aware scheduling для этой TaskSet с помощью планирования задержки...

Я предполагаю, что это результат следующей работы, на которой работал Матей Захария (соучредитель и главный технолог Databricks, которые разрабатывают Spark): https://cs.stanford.edu/~matei/

Таким образом, Spark проверяет локальность раздела ожидающей задачи. Если уровень локальности низок (например, не на локальном jvm), задача не получает непосредственного уничтожения или игнорируется, вместо этого получает задержку запуска, что справедливо.