Hadoop YARN связывает блок хранения Hadoop, то есть HDFS (распределенная файловая система Hadoop), с различными инструментами обработки. Для тех из вас, кто совершенно не знаком с этой темой, YARN означает « Y и К еще р источник N переговорщик ». Я также предлагаю вам ознакомиться с нашими и прежде чем приступить к изучению Apache Hadoop YARN. Я буду объяснять следующие темы здесь, чтобы убедиться, что в конце этого блога ваше понимание Hadoop YARN будет ясным.
- Почему ПРЯЖА?
- Введение в Hadoop YARN
- Компоненты ПРЯЖИ
- Подача заявки в ПРЯЖЕ
- Рабочий процесс приложения в Hadoop YARN
Почему ПРЯЖА?
В Hadoop версии 1.0, также называемой MRV1 (MapReduce Version 1), MapReduce выполнял функции обработки и управления ресурсами. Он состоял из счетчика вакансий, который был единственным мастером. Трекер заданий распределял ресурсы, выполнял планирование и отслеживал задания по обработке. Он назначил отображение и сокращение задач на ряд подчиненных процессов, называемых трекерами задач. Трекеры задач периодически сообщали о своем прогрессе в Трекер заданий.
Такая конструкция привела к узкому месту масштабируемости из-за единственного средства отслеживания заданий.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 состоит из следующих основных компонентов:
- Менеджер ресурсов : Запускается на главном демоне и управляет распределением ресурсов в кластере.
- Диспетчер узлов: Они работают на подчиненных демонах и отвечают за выполнение задачи на каждом узле данных.
- Мастер приложений: Управляет жизненным циклом работы пользователя и потребностями в ресурсах отдельных приложений. Он работает вместе с Node Manager и следит за выполнением задач.
- Контейнер: Пакет ресурсов, включая ОЗУ, ЦП, сеть, жесткий диск и т. Д. На одном узле.
Компоненты ПРЯЖИ
Вы можете рассматривать 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 а) Контейнер
б) Запуск
Рабочий процесс приложения в Hadoop YARN
Обратитесь к данному изображению и просмотрите следующие этапы рабочего процесса приложения Apache Hadoop YARN:
- Клиент подает заявку
- Resource Manager выделяет контейнер для запуска Application Manager
- Application Manager регистрируется в Resource Manager
- Диспетчер приложений запрашивает контейнеры у диспетчера ресурсов
- Application Manager уведомляет Node Manager о запуске контейнеров
- Код приложения выполняется в контейнере
- Клиент связывается с диспетчером ресурсов / диспетчером приложений для отслеживания статуса приложения.
- 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, используя примеры использования в реальном времени в области розничной торговли, социальных сетей, авиации, туризма, финансов.
Есть вопрос к нам? Пожалуйста, укажите это в комментариях, и мы свяжемся с вами.