Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы экзамена.docx
Скачиваний:
0
Добавлен:
29.09.2026
Размер:
250 Кб
Скачать
☆
  1. Компонент Hadoop. Главные сервисы, схема взаимодействия. Пример взаимодействия сервисов Hadoop при выполнении задачи MapReduce.

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

Hadoop включает в себя 4 главных сервиса:

  • Hadoop Commons: утилиты и программные библиотеки, позволяющие взаимодействовать с Hadoop.

  • HDFS: распределённая файловая система, предназначенная для хранения очень больших файлов с потоковой схемой доступа к данным в кластерах обычных машин.  

  • Hadoop YARN: платформа для планирования заданий и управления ресурсами кластера.

  • Hadoop MapReduce: система на основе YARN, предназначенная для параллельной обработки больших наборов данных.

Схема взаимодействия:

  • Приложение или пользователь отправляют задачу на выполнение в кластере Hadoop.

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

  • После этого, контейнеры создают соединение с HDFS для доступа к данным, необходимых для выполнения задачи.

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

Пример взаимодействия сервисов Hadoop при выполнении задачи MapReduce:

  1. Пользователь запускает MapReduce задачу через YARN, указывая входные данные из HDFS.

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

  3. Контейнеры получают доступ к входным данным из HDFS и выполняют параллельную обработку данных.

  4. Результаты обработки записываются в HDFS или передаются обратно пользователю.

  1. Hdfs. Архитектура сервиса. Роль DataNode и NameNode. FsImage и Journal. High Availability конфигурация. Виды api.

HDFS — это распределённая файловая система, предназначенная для хранения очень больших файлов с потоковой схемой доступа к данным в кластерах обычных машин. 

Основные компоненты архитектуры HDFS включают DataNode, NameNode, FsImage, Journal, а также различные API для работы с данными.

Роль DataNode: Отвечает за хранение блоков данных на узлах кластера,получает инструкции от NameNode и выполняет операции чтения и записи данных по запросу NameNode.

Роль NameNode: Управляет метаданными файловой системы, хранит информацию о распределении блоков данных по узлам DataNode

FsImage — это снимок состояния файловой системы, который содержит информацию о метаданных, такую как структура файлов и каталогов. FsImage загружается при старте NameNode.

Journal — это журнал транзакций, в который записываются все транзакции, связанные с изменением метаданных (создание, изменение, удаление файлов). Журнал позволяет восстанавливать метаданные после сбоя без необходимости перезагрузки полного FsImage.

High Availability — это конфигурация в HDFS, направленная на снижение рисков потери данных и обеспечение быстрого восстановления в случае отказа одного из NameNode'ов. В рамках High Availability используются два NameNode'a:

1. Active NameNode: обрабатывает запросы на операции с файлами и хранит актуальные метаданные о распределении блоков данных.

2. Standby NameNode: находится в режиме ожидания и регулярно синхронизирует свои метаданные с Active NameNode. В случае сбоя Active NameNode, Standby NameNode переходит в активное состояние, минимизируя простои и обеспечивая непрерывную доступность.

Виды API в HDFS:

  • HDFS shell (аналог Unix shell, но для HDFS)

  • HDFS Java API

  • HDFS Web API / Web UI