Введение в архитектуру Hadoop YARN
MapReduce использовался для управления ресурсами и их обработки в более ранней версии Hadoop 1.0. Здесь Job Tracker выполняет распределение ресурсов, планирование и мониторинг заданий, назначая карту и сводя задачи к Task Tracker. Это привело к таким проблемам, как масштабируемость, неэффективное использование ресурсов. Поскольку структура Hadoop претерпела несколько изменений за эти годы; мы видим, что его можно использовать для выполнения гораздо большего, чем просто запуск заданий MapReduce. YARN означает еще одно средство согласования ресурсов, которое называется системой управления кластерами Hadoop, которая была представлена в Hadoop 2.0 для поддержки распределенных вычислений, что также улучшает реализацию MapReduce. В YARN менеджер ресурсов и планировщики являются внешними по отношению к платформе. Так что в YARN, хотя у нас есть узлы данных, больше нет трекеров задач или трекеров заданий. Также с YARN у нас может быть управление ресурсами, а также общее планирование. В этой теме мы собираемся узнать о различной архитектуре YARN
Объясните архитектуру Hadoop YARN с помощью диаграммы
(Архитектура Hadoop YARN)
YARN представляет концепцию менеджера ресурсов и мастера приложений в Hadoop 2.0. Диспетчер ресурсов наблюдает за использованием ресурсов в кластере Hadoop, в то время как жизненный цикл приложений, работающих в определенном кластере, контролируется мастером приложений. По сути, мы можем сказать, что для кластерных ресурсов Application Master согласовывает Resource Manager. Эта задача выполняется контейнерами, которые содержат определенные ограничения памяти. Затем эти контейнеры используются для запуска процессов, специфичных для приложения, а также эти контейнеры контролируются менеджерами узлов, которые работают на узлах в кластере. Это подтвердит, что приложением используется не более выделенных ресурсов.
Различные компоненты пряжи
Ниже приведены различные компоненты пряжи.
1) менеджер ресурсов
YARN работает через Resource Manager, по одному на каждый узел, и Node Manager, который работает на всех узлах. Диспетчер ресурсов управляет ресурсами, используемыми в кластере, а диспетчер узлов запускает и контролирует контейнеры. Планировщик и диспетчер приложений являются двумя компонентами диспетчера ресурсов.
- Планировщик : планирование выполняется на основе требований ресурсов приложениями. YARN предоставляет несколько планировщиков на выбор, и они являются планировщиками ярмарки и производительности. В случае какого-либо аппаратного или прикладного сбоя Планировщик не гарантирует перезапуск сбойных задач. Кроме того, планировщик выделяет ресурсы для запущенных приложений на основе емкости и очереди.
- Диспетчер приложений : он управляет запуском Application Master в кластере, а в случае сбоя Application Master Container помогает перезапустить его. Кроме того, он несет ответственность за принятие представления о работе.
2) Диспетчер узлов
Node Manager отвечает за выполнение задачи в каждом узле данных. Диспетчер узлов в YARN по умолчанию отправляет пульс диспетчеру ресурсов, который переносит информацию о запущенных контейнерах и о доступности ресурсов для новых контейнеров. Он отвечает за индивидуальный просмотр узлов в кластере и управляет рабочим процессом и пользовательскими заданиями на конкретном узле. Главным образом он управляет контейнерами приложений, которые назначаются диспетчером ресурсов. Диспетчер узлов запускает контейнеры, создавая запрашиваемые процессы контейнеров, а также уничтожает контейнеры в соответствии с запросом диспетчера ресурсов.
3) Контейнеры
Контейнеры представляют собой набор ресурсов, таких как ОЗУ, ЦП, память и т. Д. На одном узле, и они планируются диспетчером ресурсов и контролируются диспетчером узлов. Жизненный цикл контейнера управляет контейнерами YARN с помощью контекста запуска контейнера и обеспечивает доступ к приложению для конкретного использования ресурсов на конкретном хосте.
4) Мастер приложений
Он контролирует выполнение задач, а также управляет жизненным циклом приложений, работающих в кластере. Индивидуальный Application Master связывается с заданием, когда он передается в платформу. Его главная ответственность заключается в согласовании ресурсов с менеджером ресурсов. Он работает с Node Manager для мониторинга и выполнения задач.
Чтобы запустить приложение через YARN, выполняются следующие шаги.
- Клиент связывается с Resource Manager, который запрашивает запуск процесса приложения, то есть он отправляет приложение YARN.
- Следующим шагом является то, что Resource Manager ищет Node Manager, который, в свою очередь, запускает Application Master в контейнере.
- Application Master может либо запустить выполнение в контейнере, в котором он работает в данный момент, и предоставить результат клиенту, либо он может запросить дополнительные контейнеры у менеджера ресурсов, который можно назвать распределенными вычислениями.
- Затем клиент связывается с диспетчером ресурсов, чтобы отслеживать состояние приложения.
В MapReduce в Hadoop версии 1.0 (MRV1) число карт и число сокращенных слотов были определены для каждого узла. Также в кластере Hadoop, поскольку аппаратные возможности варьировались, а количество задач на конкретном узле необходимо было ограничить вручную. Но с YARN этот недостаток преодолен, потому что здесь Resource Manager знает о пропускной способности каждого узла, так как он связывается с Node Manager, который работает на каждом узле.
Заключение - Hadoop YARN Architecture
YARN помогает преодолеть проблему масштабируемости MapReduce в Hadoop 1.0, поскольку она разделяет работу Job Tracker, как на планирование заданий, так и на мониторинг хода выполнения задач. Кроме того, проблема доступности также решена, так как ранее в Hadoop 1.0 сбой Job Tracker приводил к перезапуску задач. В YARN добавлено множество дополнительных бонусов, таких как лучшее использование ресурсов, поскольку нет фиксированного слота для задач, поскольку он обеспечивает централизованное управление ресурсами. Таким образом, с помощью YARN многие проблемы, с которыми сталкивались в более ранней версии Hadoop, были преодолены, поскольку это помогает отделить обработку данных от планирования и управления ресурсами. С YARN можно выполнять интерактивные запросы независимо, а также лучше анализировать в реальном времени.
Рекомендуемые статьи
Это было руководство по архитектуре Hadoop YARN. Здесь мы обсудим различные компоненты YARN, которые включают в себя Resource Manager, Node Manager и Containers вместе с архитектурой. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- Apache Hadoop Ecosystem
- Компоненты экосистемы Hadoop
- Компоненты Hadoop
- Экосистема Hadoop