Введение в экосистему Hadoop

Apache Hadoop - это система с открытым исходным кодом для надежного хранения и обработки большого количества информации на многих обычных компьютерах. Hadoop впервые был написан в газете и опубликован в октябре 2013 года как «Файловая система Google». Дуг Каттинг, работавший в то время в Yahoo, представил имя как Hadoop Ecosystem, основанное на имени игрушечного слона его сына. Если мы рассмотрим основное ядро ​​Apache Hadoop, то, во-первых, он может рассмотреть часть хранения, которая известна как распределенная файловая система Hadoop (HDFS), и, во-вторых, часть обработки, известную как модуль программирования Map Reduce. Hadoop фактически разбивает один огромный файл и хранит их в нескольких узлах кластера.

Концепция экосистемы Hadoop

Платформа Apache Hadoop в основном содержит следующие модули:

  1. Hadoop Common: содержит все библиотеки и утилиты, необходимые для использования модуля Hadoop.
  2. Распределенная файловая система Hadoop (HDFS). Это одна из распределенных файловых систем, которая помогает хранить большие объемы данных на нескольких компьютерах. Кроме того, обеспечивает большую полезность в случае пропускной способности, обычно она обеспечивает очень высокую пропускную способность в виде агрегата в кластере.
  3. Пряжа Hadoop: она была представлена ​​в 2012 году. Она в основном предназначена для управления ресурсами всей системы в товарах, даже в кластере. Основываясь на возможностях ресурсов, он распределял или планировал приложение пользователя в соответствии с требованиями.
  4. Hadoop MapReduce: он в основном помогает обрабатывать крупномасштабные данные с помощью методологии программирования сокращения карт.

Apache Hadoop всегда помогает сократить расходы на ИТ с точки зрения обработки и разумного хранения больших объемов данных. Поскольку Apache Hadoop является открытым исходным кодом, а аппаратное обеспечение широко доступно, оно всегда помогает нам в правильном снижении затрат на ИТ.

Программное обеспечение с открытым исходным кодом + товарное оборудование = снижение затрат на ИТ

Например, если мы собираемся ежедневно получать 942787 файлов и каталогов, для которых требуется 4077936 блоков, то в общей сложности 5020723 блоков. Таким образом, если мы настроили не менее 1, 46 ПБ емкости, то для обработки выше нагрузки распределенная файловая система будет использовать 1, 09 ПБ, что означает почти 74, 85% от общей настроенной емкости, тогда как мы рассматриваем 178 активных и 24 мертвых узла.

Экосистема Hadoop в основном предназначена для хранения и обработки больших данных, которые обычно имеют некоторые ключевые характеристики, как показано ниже:

  • объем

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

  • разнообразие

Разнообразие означает характер, структуру и тип данных, которые используются.

  • Скорость

Скорость означает скорость данных, которые были сохранены и сгенерированы в конкретном потоке процесса разработки.

  • правдивость

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

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

HDFS следует нижеприведенной архитектуре с концепцией Name Node и Data Node.

Ответственность Name Node (Master):

- управляет пространством имен файловой системы

- поддерживает конфигурацию кластера

- Ответственный за управление репликацией

Ответственность Data Node (Slaves):

- Хранить данные в локальной файловой системе

- Периодически отчитываться перед именем узла с помощью пульса

Операция записи HDFS:

Hadoop выполняет следующие шаги для записи любого большого файла:

  1. Создайте файл и обновите образ FS после получения одного запроса на запись в файл от любого клиента HDFS.
  2. Получить информацию о местонахождении блока или информации об узле данных из узла имени.
  3. Записать пакет в отдельные узлы данных параллельно.
  4. Подтвердите завершение или принятие записи пакета и отправьте информацию обратно клиенту Hadoop.

Трубопровод репликации блоков HDFS:

  1. Клиент получает список датододов из Namenode, в котором будет размещаться копия этого блока
  2. Затем клиент сбрасывает блок данных в первый Datanode
  3. Первый Datanode получает блок, записывает его и передает его следующему узлу данных в конвейере
  4. Когда все реплики записаны, Клиент переходит к следующему блоку в файле

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

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

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

Теперь каким-то образом узел имени потерян или потерпел неудачу, в этом случае резервный узел, содержащий один образ FS узла имени, немедленно воспроизводит всю операцию FS и поднимает узел имени согласно требованию. Но в этом случае требуется ручное вмешательство, и вся экосистемная структура Hadoop будет отключена в течение нескольких раз, чтобы снова установить новый узел имени. Таким образом, в этом случае имя узла может быть сбоем в одной точке, чтобы избежать этого сценария, HDFS Federation вводит несколько кластеров, настроенных по имени узла, и ZooKeeper может управлять сразу одним альтернативным узлом имени согласно требованию.

Примеры экосистемы Hadoop

Пример полной экосистемы Hadoop можно правильно объяснить на следующем рисунке:

Данные могут поступать из любых источников, таких как хранилище данных, хранилище управляемых документов, общие файловые ресурсы, базы данных Normal RDMS или из облачных или внешних источников. Все эти данные поступали в HDFS в структурном, неструктурном или полуструктурированном виде. HDFS хранит все эти данные распределенным способом, что означает очень разумное хранение в распределенной товарной системе.

Вывод

Экосистема Hadoop в основном предназначена для хранения и обработки огромных данных, которые должны были представлять любой из двух факторов: объем, скорость и разнообразие. Он хранит данные в распределенной системе обработки, работающей на обычном оборудовании. Учитывая весь экосистемный процесс Hadoop, HDFS распределяет блоки данных, а Map Reduce предоставляет среду программирования для чтения данных из файла, хранящегося в HDFS.

Рекомендуемые статьи:

Это было руководство по экосистеме Hadoop. Здесь мы обсудили базовую концепцию экосистемы Hadoop, ее архитектуру, операции HDFS, примеры, отказоустойчивость HDFS и т. Д. Вы можете также изучить следующие статьи, чтобы узнать больше -

  1. Использование Hadoop в реальном мире
  2. Hadoop vs Splunk
  3. Карьера в Hadoop
  4. Hadoop против производительности SQL