Что такое архитектура Hadoop Yarn и ее компоненты

Опубликовано: 2020-02-10

Оглавление

Hadoop YARN Введение

YARN — это основной компонент Hadoop v2.0. YARN помогает открыть Hadoop, позволяя обрабатывать и запускать данные для пакетной обработки, потоковой обработки, интерактивной обработки и обработки графов, которые хранятся в HDFS. Таким образом, он помогает запускать другие типы распределенных приложений, кроме MapReduce.

В архитектуре YARN уровень обработки отделен от уровня управления ресурсами. В версии Hadoop 1.0 ответственность за разделение между менеджером приложений и менеджером ресурсов была возложена на средство отслеживания заданий. YARN позволяет обрабатывать данные, хранящиеся в HDFS (распределенной файловой системе Hadoop), и запускать их с помощью различных механизмов обработки данных, таких как пакетная обработка, потоковая обработка, интерактивная обработка, обработка графов и многие другие. Таким образом, эффективность системы увеличивается с использованием YARN. Обработка приложения запланирована в YARN через его различные компоненты. Многие различные виды ресурсов также постепенно распределяются для оптимального использования. YARN очень помогает в правильном использовании доступных ресурсов, что очень необходимо для обработки большого объема данных.

Почему ПРЯЖА?

MapReduce выполняет функции управления ресурсами и обработки. Hadoop v1.0 также известен как MapReduce Version 1 (MRV1). Для Job Tracker был только один мастер.

Вы не поверите, как эта программа изменила карьеру студентов

В предыдущей версии Hadoop, то есть Hadoop версии 1.0, которая также известна как MapReduce версии 1 (MRV1), она использовалась для самостоятельного выполнения задач по управлению процессами и ресурсами. В нем есть модуль отслеживания работы, который отвечает за все. Следовательно, это единственный мастер, который выделяет ресурсы для приложений, выполняет планирование спроса, а также контролирует задания обработки в системе. Hadoop версии 1.0 сокращает количество задач и назначает карты для нескольких подпроцессов, которые называются трекерами задач. Task Tracker также периодически сообщает о ходе выполнения процессов. Но главная проблема не в этом, а в том, что дизайн единого мастера для всех приводит к проблемам с узкими местами. Кроме того, использование вычислительных ресурсов было неэффективным. Таким образом, масштабируемость стала проблемой для этой версии Hadoop. Но с другой стороны, эта проблема решается с помощью YARN, жизненно важного основного компонента в его преемнике Hadoop версии 2.0, который был представлен в 2012 году Yahoo и Hortonworks. Основная идея этого облегчения заключается в отделении MapReduce от управления ресурсами и планирования заданий вместо одного мастера. Таким образом, YARN теперь отвечает за планирование заданий и управление ресурсами.

В Hadoop 2.0 концепция Application Master и Resource Manager была представлена ​​YARN. В кластере Hadoop использование ресурсов контролируется диспетчером ресурсов.

Есть некоторые особенности YARN, из-за которых он стал очень известен, а именно:

  1. Мультитенантность: YARN предоставил доступ к нескольким механизмам обработки данных, таким как механизм пакетной обработки, механизм потоковой обработки, механизм интерактивной обработки, механизм обработки графов и многое другое. Это дало преимущество мультиарендности для компании.
  2. Использование кластера: кластеры используются оптимизированным образом, поскольку кластеры динамически используются в Hadoop с помощью YARN.
  3. Совместимость : YARN также совместим с первой версией Hadoop, т. е. Hadoop 1.0, поскольку использует существующие приложения для уменьшения карты. Таким образом, YARN также можно использовать с Hadoop 1.0.
  4. Масштабируемость . Планировщик в диспетчере ресурсов YARN позволяет управлять тысячами кластеров и узлов и расширять их с помощью Hadoop.

Компоненты ПРЯЖИ

  • Контейнер:

В Контейнере можно найти физические ресурсы, такие как диск на одном узле, ядра ЦП, оперативную память. Контекст запуска контейнера (CLC) используется для вызова контейнеров. Данные о зависимостях, токенах безопасности, переменных среды, которые хранятся в виде записи, известной как Контекст запуска контейнера (CLC).

  1. На определенном хосте приложение может использовать только указанную память из ЦП и памяти. Этот указанный объем памяти можно использовать только после того, как Контейнер предоставил разрешение.
  2. Контекст запуска контейнера используется для управления контейнерами YARN. Его также называют жизненным циклом контейнера (CLC). В этой записи хранятся необходимые команды для создания процесса. Он также сохраняет полезную нагрузку для служб Node Manager, маркеров безопасности, зависимостей, карты переменных среды.
  • Мастер приложений:

Во фреймворке, когда отправляется одно задание, оно называется приложением. Мониторинг хода приложения, отслеживание состояния приложения, согласование ресурсов с менеджером ресурсов является обязанностью менеджера приложения. Все требования к запуску приложения выполняются путем отправки контекста запуска контейнера (CLC). Хозяин приложения публикует Контекст запуска контейнера (CLC), запрашивая Контейнер у диспетчера узлов. Время от времени диспетчер ресурсов получает отчет о работоспособности после запуска приложения.

  • Менеджер узла:

Диспетчер узлов заботится об отдельных узлах в кластере Hadoop, а также управляет контейнерами, связанными с каждым конкретным узлом. Он регистрируется в диспетчере ресурсов и отправляет диспетчеру ресурсов статус работоспособности каждого узла, сообщая, завершил ли процесс узла работу с ресурсом. Поскольку его основной целью является управление каждым конкретным контейнером узла, назначенным диспетчером ресурсов. Диспетчер узлов также создает процесс-контейнер по запросу мастера приложений. Когда мастер приложения отправляет и запрашивает подключенный контейнер у диспетчера узлов с помощью CLC (контекст запуска контейнера), который включает в себя все, что необходимо приложению для выполнения. Затем диспетчер узлов создает запрошенный контейнер процессов и запускает его. Менеджер узла также отвечает за мониторинг использования ресурсов отдельным контейнером и сообщает об этом менеджеру ресурсов. Таким образом, диспетчер узлов и диспетчер ресурсов совместно взаимодействуют между узлами и управляют использованием ресурсов каждым узлом в кластере. Он также может уничтожать контейнеры по указанию менеджера ресурсов. Наконец, менеджеры узлов регистрируют все с помощью системы управления журналами в нем.

О конкретном узле заботится менеджер узлов. Node Manager управляет рабочим процессом и приложением узла. Выполняется управление журналом, а диспетчер узла отслеживает использование ресурсов. Менеджер ресурсов дает инструкции по уничтожению контейнера диспетчеру узлов. Мастер приложения запрашивает у диспетчера узла запуск процесса контейнера. За создание контейнерного процесса отвечает менеджер узла.

  • Менеджер ресурсов:

За управление ресурсами и назначением всех приложений отвечает диспетчер ресурсов, который является главным демоном YARN. Запросы, полученные диспетчером ресурсов, перенаправляются соответствующему диспетчеру узлов. Согласно заявке, ресурсы выделяются менеджером ресурсов для завершения.

  1. Использование кластера оптимизировано, например, использование всех ресурсов активно против различных ограничений, таких как соглашения об уровне обслуживания, гарантии справедливости и емкости.
  2. Менеджер ресурсов распределяет доступные ресурсы.
  3. Диспетчер ресурсов выполняет арбитраж ресурсов кластера.
  4. Фактическая обработка запросов происходит в узлах, а менеджеры узлов управляют ею. Всякий раз, когда поступает какой-либо запрос на обработку, он передает запросы по частям соответствующим менеджерам узлов.
  5. Менеджер ресурсов является высшим органом по распределению ресурсов.

Есть два основных компонента Resource Manager, а именно:

  • Менеджер приложений -

Диспетчер приложений отвечает за управление набором отправленных задач или приложений. Сначала он проверяет и подтверждает спецификации представленного приложения и может отклонить приложения, если доступных ресурсов недостаточно. Это также гарантирует, что не существует другого приложения с тем же идентификатором, который уже отправлен, что может быть вызвано ошибочным или вредоносным клиентом. Затем он направляет представленное приложение после проверки планировщику. Наконец, он также отслеживает состояния приложений и управляет готовыми приложениями, чтобы сэкономить память диспетчера ресурсов. Диспетчер приложений хранит кеш готовых приложений и перемещает старые завершенные приложения, чтобы освободить место для недавно отправленных приложений.

  • Планировщик –

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

Шаги рабочего процесса приложения в Hadoop YARN

Заявка подается клиентом.

  1. Диспетчер приложений запускается путем выделения Контейнера диспетчером ресурсов.
  2. Resource Manager и Application Manager регистрируются друг с другом.
  3. Диспетчер приложений выполняет согласование контейнера с диспетчером ресурсов.
  4. Диспетчер узлов запускает контейнер после получения уведомления от диспетчера приложений.
  5. Выполнение кода приложения выполняется в контейнере.
  6. Диспетчер приложений или диспетчер ресурсов отслеживает состояние приложения после обращения клиента.
  7. Отмена регистрации Application Manager выполняется с помощью Resource Manager после завершения процесса.

Подведение итогов

Если вам интересно узнать больше о больших данных, ознакомьтесь с нашей программой PG Diploma в области разработки программного обеспечения со специализацией в области больших данных, которая предназначена для работающих профессионалов и включает более 7 тематических исследований и проектов, охватывает 14 языков и инструментов программирования, практические занятия. семинары, более 400 часов интенсивного обучения и помощь в трудоустройстве в ведущих фирмах.

Изучайте онлайн-курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Освойте технологии будущего — большие данные

400+ часов обучения. 14 языков и инструментов. Статус выпускника IIIT-B.
Расширенная программа сертификации в области больших данных от IIIT Bangalore