Фундаментальная идея MRv2 состоит в том, чтобы разделить две основные функции JobTracker, управление ресурсами и планирование/мониторинг заданий, на отдельные демоны. Идея состоит в том, чтобы иметь глобальный ResourceManager (RM) и ApplicationMaster для каждого приложения (AM). Приложение представляет собой либо одно задание в классическом понимании заданий Map-Reduce, либо группу заданий DAG. Дополнительную информацию см. в курсе работы с большими данными Hadoop.

ResourceManager и подчиненный узел, NodeManager (NM), формируют структуру вычисления данных. ResourceManager — это высшая инстанция, которая распределяет ресурсы между всеми приложениями в системе.

ApplicationMaster для каждого приложения, по сути, представляет собой библиотеку, специфичную для платформы, и ему поручено согласовывать ресурсы с ResourceManager и работать с NodeManager(ами) для выполнения и мониторинга задач.

Обзор Hadoop1.0 и Hadopp2.0

Являясь частью Hadoop 2.0, YARN использует возможности управления ресурсами, которые были в MapReduce, и упаковывает их, чтобы их можно было использовать в новых механизмах. Это также оптимизирует MapReduce, позволяя ему делать то, что у него получается лучше всего, — обрабатывать данные. С помощью YARN теперь вы можете запускать несколько приложений в Hadoop, используя общее управление ресурсами. Многие организации уже создают приложения на YARN, чтобы перенести их в Hadoop.

Среда нового поколения для обработки данных Hadoop

Являясь частью Hadoop 2.0, YARN использует возможности управления ресурсами, которые были в MapReduce, и упаковывает их, чтобы их можно было использовать в новых механизмах. Это также оптимизирует MapReduce, позволяя ему делать то, что у него получается лучше всего, — обрабатывать данные. С помощью YARN теперь вы можете запускать несколько приложений в Hadoop, используя общее управление ресурсами. Многие организации уже создают приложения на YARN, чтобы перенести их в Hadoop. Когда корпоративные данные становятся доступными в HDFS, важно иметь несколько способов обработки этих данных. С помощью Hadoop 2.0 и YARN организации могут использовать Hadoop для потоковой передачи, интерактивных и многих других приложений на основе Hadoop.

Что делает пряжа

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

  • Масштабируемость. Вычислительная мощность центров обработки данных продолжает быстро расти. Поскольку YARN ResourceManager фокусируется исключительно на планировании, он может гораздо проще управлять этими более крупными кластерами.
  • Совместимость с MapReduce. Существующие приложения MapReduce и пользователи могут работать поверх YARN без нарушения существующих процессов.
  • Улучшено использование кластера. ResourceManager — это чистый планировщик, который оптимизирует использование кластера в соответствии с такими критериями, как гарантии емкости, справедливость и соглашения об уровне обслуживания. Кроме того, в отличие от предыдущих, здесь нет именованных карт и слотов сокращения, что помогает лучше использовать ресурсы кластера.
  • Поддержка рабочих нагрузок, отличных от MapReduce. Для обработки данных теперь возможны дополнительные модели программирования, такие как обработка графов и итеративное моделирование. Эти дополнительные модели позволяют предприятиям реализовать обработку практически в реальном времени и повысить рентабельность инвестиций в Hadoop.
  • ГибкостьПоскольку MapReduce становится пользовательской библиотекой, она может развиваться независимо от базового уровня диспетчера ресурсов и гораздо более гибко.

Как работает пряжа

Фундаментальная идея YARN состоит в том, чтобы разделить две основные обязанности JobTracker/TaskTracker на отдельные объекты.

  • глобальный ResourceManager
  • ApplicationMaster для каждого приложения.
  • подчиненный узел NodeManager и
  • Контейнер для каждого приложения, работающий на NodeManager

ResourceManager и NodeManager образуют новую общую систему для распределенного управления приложениями. ResourceManager — это высшая инстанция, которая распределяет ресурсы между всеми приложениями в системе. ApplicationMaster для каждого приложения является объектом, зависящим от платформы, и ему поручено согласовывать ресурсы с ResourceManager и работать с NodeManager (ами) для выполнения и мониторинга задач компонента. ResourceManager имеет планировщик, который отвечает за распределение ресурсов для различные запущенные приложения в соответствии с ограничениями, такими как емкость очередей, пользовательские ограничения и т. д. Планировщик выполняет свою функцию планирования на основе требований приложений к ресурсам. NodeManager — это ведомое устройство для каждой машины, которое отвечает за запуск контейнеров приложений, отслеживание использования их ресурсов (процессор, память, диск, сеть) и отчет об этом ResourceManager. Каждый ApplicationMaster несет ответственность за согласование соответствующих контейнеров ресурсов с планировщиком, отслеживание их состояния и мониторинг их хода выполнения. С точки зрения системы ApplicationMaster работает как обычный контейнер.

Чтобы ознакомиться с полным курсом, посетите страницу обучение работе с большими данными Hadoop.