По умолчанию искра работает с планировщиком FIFO, где задания выполняются в режиме FIFO.
Но если у вас есть кластер в YARN, YARN имеет подключаемый планировщик, это означает, что в YARN вы можете планировать свой выбор. Если вы используете YARN, распространенный CDH, у вас будет FAIR-планировщик, но вы также можете пойти для планировщика емкости.
Если вы используете YARN, распространенный HDP, у вас будет планировщик CAPACITY по умолчанию, и вы можете перейти к FAIR, если вам это нужно.
Как работает планировщик с искрой?
Я предполагаю, что у вас есть искровой кластер на YARN.
Когда вы отправляете задание в искру, оно сначала обращается к вашему менеджеру ресурсов. Теперь ваш менеджер ресурсов отвечает за планирование и распределение ресурсов. Таким образом, он в основном такой же, как и для подачи задания в Hadoop.
Как работает планировщик?
Справедливое планирование - это метод распределения ресурсов для заданий, при котором все задания получают в среднем равную долю ресурсов с течением времени. Когда выполняется одно задание, это задание использует весь кластер. Когда отправляются другие задания, для новых заданий назначаются слоты для заданий, которые освобождаются, так что каждое задание получает примерно одинаковое количество процессорного времени (с использованием preemption, убивающего все используемые задачи). В отличие от планировщика Hadoop по умолчанию (FIFO), который формирует очередь заданий, это позволяет короткие задания заканчиваться в разумные сроки, не голодая длительные рабочие места. Это также разумный способ совместного использования кластера между несколькими пользователями. Наконец, справедливый обмен может также работать с приоритетами работы - приоритеты используются в качестве весов для определения доли общего времени вычислений, которое должно получить каждая работа.
CapacityScheduler предназначен для совместного использования большого кластера, предоставляя каждой организации гарантию минимальной емкости. Основная идея заключается в том, что имеющиеся ресурсы в кластере Hadoop Map-Reduce разделены между несколькими организациями, которые коллективно финансируют кластер на основе вычислительных потребностей. Существует дополнительное преимущество, которое организация может получить в любой избыточной емкости, не используемой другими. Это обеспечивает эластичность для организаций экономически эффективным способом.
Я понимаю, как планировщик работает с такими менеджерами ресурсов, как YARN и мезо. Думаю, мой вопрос связан с тем, как работает внутренний планировщик искры. Я пытаюсь понять, как «задачи» выделяются ресурсами JVM после инициирования контекста искры, а искровой драйвер отправляет их различным исполнителям. Приведенная документация довольно неоднозначна, и я не могу понять, что представляет собой концепция справедливого обмена, когда дело касается различных задач в рамках работы – Arpit1286