Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзу по БД.docx
Скачиваний:
92
Добавлен:
12.02.2024
Размер:
257.66 Кб
Скачать
  1. Yarn. Основные сервисы. Архитектура компонента. High Availability конфигурация. Пример выполнения запроса при обработке MapReduce задачи.

YARN — это фреймворк для управления ресурсами и планирования задач в кластере Hadoop. Он предоставляет средства для управления вычислительными ресурсами и выполнения приложений на кластере.

Основные сервисы YARN сосредоточены внутри компонентов ResourceManager и NodeManager. В ResourceManager — это сервисы ResourceSheduler и ApplicationManager, в NodeManager — это сервис ContainerManager:

  • ResourceSheduler отвечает за распределение ресурсов между различными приложениями в кластере и управляет очередью задач.

  • ApplicationManager взаимодействует с ResourceScheduler для запроса ресурсов и отслеживает выполнение приложений.

  • ContainerManager запускает, останавливает и мониторит контейнеры, предоставляя им необходимые ресурсы.

Архитектура YARN состоит из следующих основных компонентов:

  • ResourceManager: управляет распределением ресурсов в кластере.

  • NodeManager: отвечает за выполнение задачи на каждом узле данных.

  • ApplicationMaster: управляет жизненным циклом пользовательских заданий и потребностями отдельных приложений в ресурсах.

  • Container: пакет физических ресурсов (ЦП, память, диск, сеть) в одном вычислительном узле кластера.

В конфигурации High Availability для YARN используется активно-пассивный подход, где есть один активный (active) и один или несколько резервных (standby) компонентов. Активный компонент обрабатывает запросы и управляет ресурсами, в то время как резервный компонент остается в режиме ожидания, готовым принять управление в случае отказа активного компонента.

Пример выполнения запроса при обработке MapReduce задачи:

  • Пользователь отправляет MapReduce задачу на выполнение с использованием клиентской команды

  • ResourceManager принимает запрос и регистрирует приложение.

  • ResourceManager использует Scheduler для назначения ресурсов для выполнения Map и Reduce задач.

  • NodeManager на каждом узле кластера получает задачи для выполнения и запускает соответствующие контейнеры.

  • Контейнеры выполняют Map и Reduce задачи, обрабатывая данные на узлах и обмениваясь результатами.

  • По завершении задач, результаты передаются обратно ResourceManager, который сообщает пользователю о завершении задачи.

  1. Yarn. Виды scheduler’ов. Fifo, Fair, Capacity. Достоинства и недостатки. Механизм очередей.

YARN — это фреймворк для управления ресурсами и планирования задач в кластере Hadoop. Он предоставляет средства для управления вычислительными ресурсами и выполнения приложений на кластере.

Существует 3 вида scheduler’ов, которые отвечают за планирование рабочих процессов YARN. Ниже приведены их описания, достоинства и недостатки:

FIFO (First input first output) – самый простой, который запускает приложения в порядке подачи, помещая их в очередь. Приложение, отправленное первым, сначала получает ресурсы, а по его завершении планировщик обслуживает следующее приложение в очереди. FIFO не подходит для общих кластеров, поскольку большие приложения будут занимать все ресурсы, а очереди станут длиннее из-за более низкой скорости обслуживания.

Достоинства:

  • Прост в реализации и использовании.

  • Подходит для простых сценариев, где не требуется сложного управления ресурсами.

Недостатки:

  • Не обеспечивает оптимальное распределение ресурсов (неправильное распределение приоритетов).

  • Может привести к проблемам с производительностью при наличии разнородных задач.

Fair Scheduler – самый продвинутый вариант планировщика с учетом приоритетности заданий, который стремится распределить ресурсы так, чтобы все запущенные приложения получили одинаковую долю.

Fair Scheduler позволяет приложениям YARN совместно и динамически использовать ресурсы в большом кластере Hadoop без предварительного указания их емкости.

Достоинства:

  • Обеспечивает справедливое распределение ресурсов.

  • Подходит для сред разнородных задач и приложений.

Недостатки:

  • Может потребовать дополнительной конфигурации для достижения оптимальной производительности.

  • Не всегда подходит для всех типов рабочих нагрузок.

Capacity Scheduler – это планировщик, который предоставляет разделение ресурсов кластера между различными пользователями и/или группами. Каждая группа получает фиксированный объем ресурсов, который не может быть превышен другими группами.

Достоинства:

  • Гибкость в управлении ресурсами для различных групп пользователей.

  • Подходит для кластеров с множеством пользователей и приложений.

Недостатки:

  • Может потребовать сложной конфигурации для оптимальной работы.

  • Может быть сложным в настройке и поддержке.

Механизм очередей в YARN представляет собой функциональность, которая обеспечивает управление доступом приложений к ресурсам в распределенном кластере, устанавливает приоритеты, предоставляет гибкость настройки и позволяет администраторам кластера эффективно управлять рабочими нагрузками.

Основные аспекты механизма очередей в YARN:

Очереди:

  • Каждая очередь представляет собой логическую единицу, которая может быть настроена с определенными параметрами, такими как приоритет, лимиты ресурсов, максимальное время выполнения и другие.

  • Очереди могут быть созданы и настроены для различных групп пользователей, приложений или для обработки определенного типа задач.

Иерархия очередей:

  • Механизм очередей в YARN поддерживает иерархию очередей, что позволяет создавать структуру из вложенных очередей. Это предоставляет дополнительные уровни управления и группировки для приложений с разными характеристиками и приоритетами.

  • Иерархия очередей обеспечивает гибкость в настройке и управлении ресурсами на разных уровнях кластера.

Приоритеты:

  • Очереди в YARN могут иметь различные уровни приоритета. Приложения в очереди с более высоким приоритетом получают приоритетное выделение ресурсов перед теми, у которых приоритет ниже.

  • Приоритеты позволяют администраторам управлять важностью выполнения различных приложений в кластере.

Лимиты ресурсов:

  • Каждая очередь может иметь ограничения по доступным ресурсам.

  • Данный аспект обеспечивает контроль над использованием ресурсов и предотвращает чрезмерное использование ресурсов одной очереди за счет другой.

Динамическая настройка:

  • Механизм очередей в YARN поддерживает динамическую настройку параметров очередей без перезапуска кластера. Это позволяет администраторам быстро адаптироваться к изменяющимся требованиям и оптимизировать использование ресурсов.

Планировщики Fair Scheduler и Capacity Scheduler:

  • Оба планировщика используют механизм очередей для управления ресурсами. Fair Scheduler стремится к справедливому распределению, в то время как Capacity Scheduler управляет ресурсами с учетом предварительно заданных лимитов для каждой очереди.