Учебное пособие по Hadoop YARN - изучение основ архитектуры YARN



Этот блог посвящен Apache Hadoop YARN, который был представлен в Hadoop версии 2.0 для управления ресурсами и планирования заданий. Он объясняет архитектуру YARN с ее компонентами и обязанностями, выполняемыми каждым из них. В нем описывается отправка приложения и рабочий процесс в Apache Hadoop YARN.

Hadoop YARN связывает блок хранения Hadoop, то есть HDFS (распределенная файловая система Hadoop), с различными инструментами обработки. Для тех из вас, кто совершенно не знаком с этой темой, YARN означает « Y и К еще р источник N переговорщик ». Я также предлагаю вам ознакомиться с нашими и прежде чем приступить к изучению Apache Hadoop YARN. Я буду объяснять следующие темы здесь, чтобы убедиться, что в конце этого блога ваше понимание Hadoop YARN будет ясным.

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

В Hadoop версии 1.0, также называемой MRV1 (MapReduce Version 1), MapReduce выполнял функции обработки и управления ресурсами. Он состоял из счетчика вакансий, который был единственным мастером. Трекер заданий распределял ресурсы, выполнял планирование и отслеживал задания по обработке. Он назначил отображение и сокращение задач на ряд подчиненных процессов, называемых трекерами задач. Трекеры задач периодически сообщали о своем прогрессе в Трекер заданий.





MapReduce версии 1.0 - Hadoop YARN - Edureka

Такая конструкция привела к узкому месту масштабируемости из-за единственного средства отслеживания заданий.IBM упомянула в своей статье, что, согласно Yahoo !, практические пределы такой конструкции достигаются с кластером из 5000 узлов и 40 000 задач, выполняемых одновременно.Помимо этого ограничения, использование вычислительных ресурсов в MRV1 неэффективно. Кроме того, фреймворк Hadoop стал ограничиваться только парадигмой обработки MapReduce.



Чтобы преодолеть все эти проблемы, в 2012 году Yahoo и Hortonworks представили YARN в Hadoop версии 2.0. Основная идея YARN - облегчить MapReduce, взяв на себя ответственность за управление ресурсами и планирование заданий. YARN начал предоставлять Hadoop возможность запускать задания, отличные от MapReduce, в рамках Hadoop.

Вы также можете посмотреть видео ниже, где наши эксперт подробно обсуждает концепции YARN и ее архитектуру.

Учебное пособие по Hadoop Yarn | Архитектура пряжи Hadoop | Эдурека

С появлением YARN был полностью революционизирован. Он стал намного более гибким, эффективным и масштабируемым. Когда Yahoo запустила YARN в первом квартале 2013 года, это помогло компании уменьшить размер своего кластера Hadoop с 40 000 узлов до 32 000 узлов. Но количество рабочих мест увеличилось вдвое до 26 миллионов в месяц.



Введение в Hadoop YARN

Теперь, когда я рассказал вам о необходимости YARN, позвольте мне познакомить вас с основным компонентом Hadoop v2.0, ПРЯЖА . YARN позволяет использовать различные методы обработки данных, такие как обработка графиков, интерактивная обработка, потоковая обработка, а также пакетная обработка для запуска и обработки данных, хранящихся в HDFS. Таким образом, YARN открывает Hadoop для других типов распределенных приложений, помимо MapReduce.

YARN позволил пользователям выполнять операции в соответствии с требованиями, используя различные инструменты, такие как для обработки в реальном времени, Улей для SQL, HBase для NoSQL и др.

Помимо управления ресурсами, YARN также выполняет планирование работ. YARN выполняет все ваши действия по обработке, распределяя ресурсы и планируя задачи. Архитектура Apache Hadoop YARN состоит из следующих основных компонентов:

  1. Менеджер ресурсов : Запускается на главном демоне и управляет распределением ресурсов в кластере.
  2. Диспетчер узлов: Они работают на подчиненных демонах и отвечают за выполнение задачи на каждом узле данных.
  3. Мастер приложений: Управляет жизненным циклом работы пользователя и потребностями в ресурсах отдельных приложений. Он работает вместе с Node Manager и следит за выполнением задач.
  4. Контейнер: Пакет ресурсов, включая ОЗУ, ЦП, сеть, жесткий диск и т. Д. На одном узле.

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

Вы можете рассматривать YARN как мозг вашей экосистемы Hadoop. На изображении ниже представлена ​​архитектура YARN.

В первый компонент YARN Architecture - это,

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

  • Это высший орган в распределении ресурсов .
  • При получении запросов на обработку он передает части запросов соответствующим менеджерам узлов, где и происходит фактическая обработка.
  • Он является арбитром ресурсов кластера и принимает решение о распределении доступных ресурсов для конкурирующих приложений.
  • Оптимизирует использование кластера, например, постоянное использование всех ресурсов с учетом различных ограничений, таких как гарантии емкости, справедливость и SLA.
  • Он состоит из двух основных компонентов:а) Планировщикб)Менеджер приложений

а) Планировщик

  • Планировщик отвечает за распределение ресурсов между различными запущенными приложениями с учетом ограничений емкости, очередей и т. Д.
  • В ResourceManager он называется чистым планировщиком, что означает, что он не выполняет никакого мониторинга или отслеживания состояния приложений.
  • В случае сбоя приложения или аппаратного сбоя Планировщик не гарантирует перезапуск невыполненных задач.
  • Выполняет планирование на основе требований приложений к ресурсам.
  • Он имеет подключаемый модуль политики, который отвечает за разделение ресурсов кластера между различными приложениями. Таких плагинов два: Планировщик емкости и Честный планировщик , которые в настоящее время используются в качестве планировщиков в ResourceManager.

б) Менеджер приложений

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

Переходя к второй компонент который:

разница между расширением и реализацией

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

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

В третий компонент Apache Hadoop YARN есть,

Мастер приложений
  • Заявка - это отдельная работа, отправленная в фреймворк. Каждое такое приложение имеет связанный с ним уникальный мастер приложения, который представляет собой конкретную сущность платформы.
  • Это процесс, который координирует выполнение приложения в кластере, а также управляет ошибками.
  • Его задача - согласовывать ресурсы с диспетчером ресурсов и работать с диспетчером узлов для выполнения и мониторинга задач компонента.
  • Он отвечает за согласование подходящих контейнеров ресурсов из ResourceManager, отслеживание их статуса и мониторинг прогресса.
  • После запуска он периодически отправляет контрольные сигналы диспетчеру ресурсов, чтобы подтвердить свое работоспособность и обновить запись о своих потребностях в ресурсах.

В четвертый компонент является:

Контейнер
  • Это набор физических ресурсов, таких как ОЗУ, ядра ЦП и диски на одном узле.
  • Контейнеры YARN управляются контекстом запуска контейнера, который является жизненным циклом контейнера (CLC). Эта запись содержит карту переменных среды, зависимостей, хранящихся в удаленно доступном хранилище, токены безопасности, полезную нагрузку для служб Node Manager и команду, необходимую для создания процесса.
  • Он предоставляет приложению права на использование определенного количества ресурсов (памяти, ЦП и т. Д.) На определенном хосте.

Подача заявки в ПРЯЖЕ

Обратитесь к изображению и ознакомьтесь с этапами отправки приложения Hadoop YARN:

1) Отправить вакансию

2)Получить идентификатор приложения

3) Контекст подачи заявки

4 а) Стартовый контейнерЗапуск

б) Запустить Мастер приложений

5) Распределение ресурсов

6 а) Контейнер

б) Запуск

7) Выполнить

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

Обратитесь к данному изображению и просмотрите следующие этапы рабочего процесса приложения Apache Hadoop YARN:

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

Теперь, когда вы знакомы с Apache Hadoop YARN, ознакомьтесь с от Edureka, надежной компании онлайн-обучения с сетью из более чем 250 000 довольных учащихся по всему миру. Учебный курс Edureka Big Data Hadoop Certification Training помогает учащимся стать экспертами в области HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume и Sqoop, используя примеры использования в реальном времени в области розничной торговли, социальных сетей, авиации, туризма, финансов.

Есть вопрос к нам? Пожалуйста, укажите это в комментариях, и мы свяжемся с вами.