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

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

Жанры

Технология хранения и обработки больших данных Hadoop
Шрифт:

Модель MapReduce следует принципам функционального программирования, вследствие чего пользовательские вычисления выполняются как функции map и reduce, обрабатывающие данные в виде пар ключ-значение.

Hadoop предоставляет высокоуровневый программный интерфейс для реализации пользовательских функций map и reduce на различных языках.

Также Hadoop предоставляет инфраструктуру для выполнения заданий MapReduce в виде серий задач map и reduce.

Задачи map вызывают функции map для обработки наборов входных данных.

Затем задачи reduce вызывают функции reduce для обработки промежуточных

данных, сгенерированных функциями map, формируя окончательные выходные данные.

Задачи map и reduce выполняются изолированно друг от друга, что обеспечивает параллельность и отказоустойчивость вычислений.

Hadoop версии 1 содержал компоненты HDFS и Map Reduce.

И Hadoop версии 1 разрабатывался только для выполнения заданий MapReduce.

А Hadoop версии 2 уже содержит компоненты HDFS и YARN/Map Reduce версии 2.

В классическом Map Reduce, когда мастер узел перестает работать, тогда все его узлы slave автоматически перестают работать.

И мы должны перезапустить весь кластер и заново начать выполнять работу.

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

Компонент YARN или Yet Another Resource Negotiator решает эту проблему благодаря своей архитектуре.

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

Классический Map Reduce отвечает как за управление ресурсами, так и за обработку данных.

В Hadoop версии 2, YARN разделяет функций управления ресурсами и планирования/мониторинга заданий на отдельные демоны.

YARN – это универсальная платформа для запуска любого распределенного приложения, и здесь Map Reduce – это распределенное приложение, которое работает поверх YARN.

Таким образом, YARN отвечает за управление ресурсами, то есть решает, какая работа будет выполняться и какой системой.

Тогда как Map Reduce является фреймворком программирования, который отвечает за то, как выполнить конкретную работу, используя два компонента mapper и reducer.

YARN отделяет компоненты управления ресурсами от компонентов обработки, и YARN не сводится только к MapReduce.

Диспетчер ресурсов resource manager YARN оптимизирует использование кластера и поддерживает другие рабочие процессы, кроме Map Reduce.

Поэтому здесь мы можем добавлять дополнительные программные модели, такие как обработка графов или итеративное моделирование, которые могут обрабатывать данные, используя те же кластеры и общие ресурсы.

Поверх HDFS

и Yarn могут работать множество компонентов, и эта архитектура также развивалась с течением времени.

Давайте посмотрим на историю и посмотрим, как вся эта экосистема Hadoop развивалась и росла со временем.

Как вы можете заметить, у многих из этих приложений смешные имена.

Как мы можем понять весь этот зоопарк, и как мы можем понять, что делает каждое из этих приложений?

Проект Hadoop возник из концепции Google MapReduce и идеи о том, как можно обрабатывать очень большие объемы данных.

Здесь показан стек Google Big Data.

И он начинается с файловой системы Google GFS.

В Google подумали, что будет хорошей идеей использовать большое количество распределенного дешевого хранилища, и попытаться разместить там много данных.

И придумать какой-то фреймворк, который позволил бы обрабатывать все эти данные.

Таким образом, у Google появился свой оригинальный MapReduce, и они хранили и обрабатывали большие объемы данных.

Затем в Google сказали, что это действительно здорово, но нам бы очень хотелось иметь доступ к этим данным и обращаться к ним на языке, похожем на SQL.

Поэтому они создали шлюз MySQL Gateway, чтобы адаптировать данные в кластере MapReduce и иметь возможность запрашивать эти данных.

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

Так появился Sawzall.

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

Затем появился Дремель. Dremel – это хранилище и менеджер метаданных, который позволяет управлять данными и обрабатывать очень большой объем неструктурированных данных.

И затем, конечно, вам нужно что-то, чтобы координировать все это между собой.

Так появился Chubby в качестве системы координации, которая управляет всеми продуктами в этой экосистеме, обрабатывающей большие объемы данных.

Здесь показан стек Facebook Big Data.

И мы видим, что стек Facebook выглядит очень похожим.

Здесь есть Zookeeper, аналог Chubby, цель которого хранение и управление конфигурациями систем.

Здесь есть HBase, и таблицы в HBase служат входом и выходом для работы MapReduce.

И здесь Hive и Databee, которые обеспечивает SQL запросы.

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

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

Морозная гряда. Первый пояс

Игнатов Михаил Павлович
3. Путь
Фантастика:
фэнтези
7.91
рейтинг книги
Морозная гряда. Первый пояс

Лейб-хирург

Дроздов Анатолий Федорович
2. Зауряд-врач
Фантастика:
альтернативная история
7.34
рейтинг книги
Лейб-хирург

Прометей: каменный век

Рави Ивар
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Прометей: каменный век

Приручитель женщин-монстров. Том 4

Дорничев Дмитрий
4. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 4

Бесноватый Цесаревич

Яманов Александр
Фантастика:
альтернативная история
7.00
рейтинг книги
Бесноватый Цесаревич

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

NikL
4. Видящий смерть
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Тринадцатый IV

Гром над Империей. Часть 4

Машуков Тимур
8. Гром над миром
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Гром над Империей. Часть 4

Варлорд

Астахов Евгений Евгеньевич
3. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Варлорд

Генерал-адмирал. Тетралогия

Злотников Роман Валерьевич
Генерал-адмирал
Фантастика:
альтернативная история
8.71
рейтинг книги
Генерал-адмирал. Тетралогия

Ратник

Ланцов Михаил Алексеевич
3. Помещик
Фантастика:
альтернативная история
7.11
рейтинг книги
Ратник

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

Отмороженный 10.0

Гарцевич Евгений Александрович
10. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Отмороженный 10.0

Действуй, дядя Доктор!

Юнина Наталья
Любовные романы:
короткие любовные романы
6.83
рейтинг книги
Действуй, дядя Доктор!

Черный Маг Императора 6

Герда Александр
6. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
7.00
рейтинг книги
Черный Маг Императора 6