Что такое Хадуп? Введение, Architecture, Экосистема, Компоненты

Что такое Хадуп?

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

Приложения, созданные с использованием HADOOP, запускаются на больших наборах данных, распределенных по кластерам обычных компьютеров. Обычные компьютеры дешевы и широко доступны. Они в основном полезны для достижения большей вычислительной мощности при низких затратах.

Подобно данным, находящимся в локальной файловой системе персонального компьютера, в Hadoop данные находятся в распределенной файловой системе, которая называется Распределенная файловая система Hadoop. Модель обработки основана на «Локализация данных» концепция, в которой вычислительная логика отправляется на узлы кластера (сервер), содержащие данные. Эта вычислительная логика — не что иное, как скомпилированная версия программы, написанной на языке высокого уровня, таком как Java. Такая программа обрабатывает данные, хранящиеся в Hadoop HDFS.

Знаете ли вы? Компьютерный кластер состоит из набора нескольких процессоров (диск + процессор), которые соединены друг с другом и действуют как единая система.

Экосистема Hadoop и компоненты

На диаграмме ниже показаны различные компоненты экосистемы Hadoop.

Экосистема Hadoop и компоненты

Apache Hadoop состоит из двух подпроектов:

  1. Hadoop MapReduce: MapReduce — это вычислительная модель и программная среда для написания приложений, работающих на Hadoop. Эти программы MapReduce способны параллельно обрабатывать огромные данные на больших кластерах вычислительных узлов.
  2. HDFS (Распределенная файловая система Hadoop): HDFS отвечает за хранение данных в приложениях Hadoop. Приложения MapReduce используют данные из HDFS. HDFS создает несколько реплик блоков данных и распределяет их по вычислительным узлам кластера. Такое распределение обеспечивает надежные и чрезвычайно быстрые вычисления.

Хотя Hadoop наиболее известен благодаря MapReduce и его распределенной файловой системе HDFS, этот термин также используется для обозначения семейства связанных проектов, которые подпадают под действие распределенных вычислений и крупномасштабной обработки данных. Другие проекты, связанные с Hadoop, на сайте Apache включать Hive, HBase, Mahout, Sqoop, Flume и ZooKeeper.

Hadoop Archiтекстура

Hadoop Archiтекстура
Hadoop высокого уровня Archiтекстура

В Hadoop есть Master-Slave Archiтехнологии хранения и распределенной обработки данных с использованием Уменьшение карты и методы HDFS.

Имя Узел:

NameNode представляет все файлы и каталоги, используемые в пространстве имен.

Узел данных:

DataNode помогает вам управлять состоянием узла HDFS и позволяет взаимодействовать с блоками.

Мастернода:

Мастер-нода позволяет проводить параллельную обработку данных с помощью Hadoop MapReduce.

Ведомый узел:

Подчиненные узлы — это дополнительные машины в кластере Hadoop, которые позволяют хранить данные для проведения сложных вычислений. Более того, все подчиненные узлы оснащены Task Tracker и DataNode. Это позволяет синхронизировать процессы с NameNode и Job Tracker соответственно.

В Hadoop главную или подчиненную систему можно настроить в облаке или локально.

Особенности «Hadoop»

• Подходит для анализа больших данных.

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

• Масштабируемость

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

• Отказоустойчивость

В экосистеме HADOOP предусмотрена возможность репликации входных данных на другие узлы кластера. Таким образом, в случае сбоя узла кластера обработка данных по-прежнему может продолжаться с использованием данных, хранящихся на другом узле кластера.

Топология сети в Hadoop

Топология (организация) сети влияет на производительность кластера Hadoop при росте размера кластера Hadoop. Помимо производительности, нужно также позаботиться о высокой доступности и обработке сбоев. Для достижения этой цели Hadoop при формировании кластера используется топология сети.

Топология сети в Hadoop

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

Кластер Hadoop состоит из центра обработки данных, стойки и узла, который фактически выполняет задания. Здесь центр обработки данных состоит из стоек, а стойка состоит из узлов. Пропускная способность сети, доступная процессам, варьируется в зависимости от местоположения процессов. То есть доступная полоса пропускания становится меньше по мере удаления от...

  • Процессы на одном узле
  • Разные узлы в одной стойке
  • Узлы на разных стойках одного дата-центра
  • Ноды в разных дата-центрах