Чтение онлайн

на главную - закладки

Жанры

Обработка больших данных
Шрифт:

Ещё одно ограничение связано с тем, что MapReduce требует значительных ресурсов для выполнения этапов Shuffle and Sort, особенно при работе с большими объемами данных, что может приводить к узким местам в производительности.

MapReduce оказал огромное влияние на развитие технологий больших данных, став основой для многих современных фреймворков и систем, включая Apache Hadoop, который сделал MapReduce доступным и популярным инструментом для обработки данных в широком спектре отраслей. Несмотря на появление новых технологий и подходов, MapReduce по-прежнему

остаётся важной и востребованной моделью программирования для распределённой обработки данных, особенно для задач, связанных с анализом больших объемов информации.

– YARN (Yet Another Resource Negotiator)

YARN (Yet Another Resource Negotiator) – это система управления ресурсами, которая стала ключевым компонентом второй версии Hadoop (Hadoop 2.x). YARN была разработана для преодоления ограничений первой версии Hadoop, в которой MapReduce одновременно выполнял роли как фреймворка для обработки данных, так и системы управления ресурсами. Введение YARN позволило отделить эти функции, что значительно повысило гибкость и эффективность использования ресурсов в кластерах Hadoop.

YARN состоит из нескольких ключевых компонентов, которые совместно обеспечивают управление ресурсами и координацию выполнения приложений в распределенной среде:

1. ResourceManager (Менеджер ресурсов):

Расположение: Центральный компонент системы YARN, который управляет всеми ресурсами кластера.

Функции: ResourceManager отвечает за распределение ресурсов между различными приложениями. Он получает запросы от приложений на выделение ресурсов, принимает решения о размещении задач на узлах и контролирует состояние кластера. ResourceManager включает в себя два основных модуля: Scheduler и ApplicationManager.

Scheduler: Этот модуль отвечает за планирование ресурсов, распределяя вычислительные мощности (CPU, память) между приложениями в соответствии с их приоритетами и требованиями. Scheduler действует на основе политики выделения ресурсов, не выполняя самих задач, что позволяет избежать конфликтов и перегрузки кластера.

ApplicationManager: Управляет жизненным циклом приложений, начиная от их инициализации до завершения. Этот модуль координирует запуск и мониторинг всех компонентов приложения на узлах кластера.

2. NodeManager (Менеджер узла):

Расположение: Работает на каждом узле кластера.

Функции: NodeManager отвечает за управление ресурсами на конкретном узле. Он отслеживает использование ресурсов (памяти, процессора) на узле и управляет контейнерами (containers) – изолированными средами выполнения, в которых запускаются задачи приложения. NodeManager также регулярно отправляет отчёты о состоянии узла и его ресурсах в ResourceManager.

3. ApplicationMaster (Менеджер приложения):

Расположение: Запускается для каждого приложения, работающего на YARN.

Функции: ApplicationMaster управляет выполнением конкретного приложения. Он запрашивает у ResourceManager необходимые ресурсы, распределяет их между задачами приложения, следит за выполнением

задач и обрабатывает возможные сбои. Это обеспечивает гибкость и адаптивность выполнения приложений, так как каждый ApplicationMaster может иметь свои собственные стратегии управления задачами и ресурсами.

YARN значительно улучшает масштабируемость, гибкость и эффективность кластера Hadoop благодаря следующим функциям:

1. Разделение управления ресурсами и обработкой данных:

В отличие от первой версии Hadoop, где MapReduce выполнял функции как фреймворка для обработки данных, так и системы управления ресурсами, YARN выделяет управление ресурсами в отдельный слой. Это позволяет запускать на кластере не только задачи MapReduce, но и другие типы приложений (например, Apache Spark, Apache Flink), что делает Hadoop универсальной платформой для работы с большими данными.

2. Поддержка различных типов рабочих нагрузок:

YARN позволяет одновременно выполнять на одном кластере различные типы приложений, включая интерактивные запросы, поточные вычисления и пакетную обработку данных. Это делает YARN более гибкой системой, способной эффективно использовать ресурсы кластера для различных задач и улучшать общую производительность.

3. Динамическое выделение ресурсов:

Система YARN способна динамически перераспределять ресурсы между приложениями в зависимости от их текущих потребностей. Это означает, что ресурсы, неиспользуемые одним приложением, могут быть перераспределены для других задач, что повышает эффективность использования кластера и уменьшает время простоя ресурсов.

4. Масштабируемость:

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

Введение YARN произвело революцию в экосистеме Hadoop, превратив её из платформы, ориентированной исключительно на MapReduce, в универсальную среду для выполнения различных типов приложений. YARN открыло возможности для интеграции множества фреймворков и инструментов, таких как Apache Spark, Apache Storm, Apache Flink, и другие. Это сделало Hadoop более гибкой и адаптивной платформой, способной удовлетворять разнообразные потребности современных организаций в области обработки и анализа больших данных.

YARN также обеспечило более эффективное использование ресурсов в кластерах, что позволило компаниям снизить затраты на инфраструктуру и увеличить производительность своих систем. В результате YARN стал неотъемлемым компонентом для всех, кто работает с большими данными, обеспечивая надёжную, масштабируемую и гибкую основу для работы с различными типами данных и вычислений.

Ниже приведена схема, которая показывает, как компоненты YARN взаимодействуют между собой для распределения ресурсов и выполнения задач.

Поделиться:
Популярные книги

Студиозус 2

Шмаков Алексей Семенович
4. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Студиозус 2

Академия проклятий. Книги 1 - 7

Звездная Елена
Академия Проклятий
Фантастика:
фэнтези
8.98
рейтинг книги
Академия проклятий. Книги 1 - 7

Афганский рубеж 2

Дорин Михаил
2. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Афганский рубеж 2

Отверженный. Дилогия

Опсокополос Алексис
Отверженный
Фантастика:
фэнтези
7.51
рейтинг книги
Отверженный. Дилогия

Моя (не) на одну ночь. Бесконтрактная любовь

Тоцка Тала
4. Шикарные Аверины
Любовные романы:
современные любовные романы
7.70
рейтинг книги
Моя (не) на одну ночь. Бесконтрактная любовь

Деспот

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Деспот

Херсон Византийский

Чернобровкин Александр Васильевич
1. Вечный капитан
Приключения:
морские приключения
7.74
рейтинг книги
Херсон Византийский

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Барон играет по своим правилам

Ренгач Евгений
5. Закон сильного
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Барон играет по своим правилам

Хозяйка старой усадьбы

Скор Элен
Любовные романы:
любовно-фантастические романы
8.07
рейтинг книги
Хозяйка старой усадьбы

Санек

Седой Василий
1. Санек
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Санек

Тринадцатый III

NikL
3. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый III

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Жена на четверых

Кожина Ксения
Любовные романы:
любовно-фантастические романы
эро литература
5.60
рейтинг книги
Жена на четверых