Что такое архитектура 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, из-за которых он стал очень известен, а именно:

- Мультитенантность: YARN предоставил доступ к нескольким механизмам обработки данных, таким как механизм пакетной обработки, механизм потоковой обработки, механизм интерактивной обработки, механизм обработки графов и многое другое. Это дало преимущество мультиарендности для компании.
- Использование кластера: кластеры используются оптимизированным образом, поскольку кластеры динамически используются в Hadoop с помощью YARN.
- Совместимость : YARN также совместим с первой версией Hadoop, т. е. Hadoop 1.0, поскольку использует существующие приложения для уменьшения карты. Таким образом, YARN также можно использовать с Hadoop 1.0.
- Масштабируемость . Планировщик в диспетчере ресурсов YARN позволяет управлять тысячами кластеров и узлов и расширять их с помощью Hadoop.
Компоненты ПРЯЖИ
- Контейнер:
В Контейнере можно найти физические ресурсы, такие как диск на одном узле, ядра ЦП, оперативную память. Контекст запуска контейнера (CLC) используется для вызова контейнеров. Данные о зависимостях, токенах безопасности, переменных среды, которые хранятся в виде записи, известной как Контекст запуска контейнера (CLC).
- На определенном хосте приложение может использовать только указанную память из ЦП и памяти. Этот указанный объем памяти можно использовать только после того, как Контейнер предоставил разрешение.
- Контекст запуска контейнера используется для управления контейнерами YARN. Его также называют жизненным циклом контейнера (CLC). В этой записи хранятся необходимые команды для создания процесса. Он также сохраняет полезную нагрузку для служб Node Manager, маркеров безопасности, зависимостей, карты переменных среды.
- Мастер приложений:
Во фреймворке, когда отправляется одно задание, оно называется приложением. Мониторинг хода приложения, отслеживание состояния приложения, согласование ресурсов с менеджером ресурсов является обязанностью менеджера приложения. Все требования к запуску приложения выполняются путем отправки контекста запуска контейнера (CLC). Хозяин приложения публикует Контекст запуска контейнера (CLC), запрашивая Контейнер у диспетчера узлов. Время от времени диспетчер ресурсов получает отчет о работоспособности после запуска приложения.

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

- Менеджер приложений -
Диспетчер приложений отвечает за управление набором отправленных задач или приложений. Сначала он проверяет и подтверждает спецификации представленного приложения и может отклонить приложения, если доступных ресурсов недостаточно. Это также гарантирует, что не существует другого приложения с тем же идентификатором, который уже отправлен, что может быть вызвано ошибочным или вредоносным клиентом. Затем он направляет представленное приложение после проверки планировщику. Наконец, он также отслеживает состояния приложений и управляет готовыми приложениями, чтобы сэкономить память диспетчера ресурсов. Диспетчер приложений хранит кеш готовых приложений и перемещает старые завершенные приложения, чтобы освободить место для недавно отправленных приложений.
- Планировщик –
Основываясь на доступности ресурсов и распределении приложений, Scheduler планирует задачи. Планировщик не выполняет никаких других задач, таких как перезапуск задания после сбоя, отслеживание или мониторинг задач. Различные типы подключаемых модулей планировщика — это Fair Scheduler и Capacity Scheduler, которые поддерживаются планировщиком YARN для разделения ресурсов кластера.
Шаги рабочего процесса приложения в Hadoop YARN
Заявка подается клиентом.
- Диспетчер приложений запускается путем выделения Контейнера диспетчером ресурсов.
- Resource Manager и Application Manager регистрируются друг с другом.
- Диспетчер приложений выполняет согласование контейнера с диспетчером ресурсов.
- Диспетчер узлов запускает контейнер после получения уведомления от диспетчера приложений.
- Выполнение кода приложения выполняется в контейнере.
- Диспетчер приложений или диспетчер ресурсов отслеживает состояние приложения после обращения клиента.
- Отмена регистрации Application Manager выполняется с помощью Resource Manager после завершения процесса.
Подведение итогов
Если вам интересно узнать больше о больших данных, ознакомьтесь с нашей программой PG Diploma в области разработки программного обеспечения со специализацией в области больших данных, которая предназначена для работающих профессионалов и включает более 7 тематических исследований и проектов, охватывает 14 языков и инструментов программирования, практические занятия. семинары, более 400 часов интенсивного обучения и помощь в трудоустройстве в ведущих фирмах.
Изучайте онлайн-курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.