Фундаментальная идея 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.