Стек технологий Apache Hadoop. Распределённая файловая система HDFS

Содержание

Слайд 2

Цели

Осветить наиболее значимые технологии стека Apache Hadoop для распределённой обработки данных:
MapReduce
HDFS
Hbase
ZooKeeper
Pig
Hive
Avro
Рассмотреть

Цели Осветить наиболее значимые технологии стека Apache Hadoop для распределённой обработки данных:
архитектуру распределённой файловой системы HDFS

Слайд 3

Архитектурные принципы

Линейная масштабируемость
Надёжность и доступность
Ненадёжное (commodity) оборудование
Перемещение данных дороже перемещения программ
Высокая производительность

Архитектурные принципы Линейная масштабируемость Надёжность и доступность Ненадёжное (commodity) оборудование Перемещение данных

Слайд 4

MapReduce

Фреймворк для распределённых вычислений
MapReduce job – 2 этапа
Map: {} -> {}
Reduce: {}

MapReduce Фреймворк для распределённых вычислений MapReduce job – 2 этапа Map: {
-> {}
Map – предварительная обработка
Reduce – агрегация
Shuffle – сортировка и слияние, невидимый для пользователя переход от Map к Reduce

Слайд 5

MapReduce

MapReduce

Слайд 6

MapReduce

MapReduce

Слайд 7

HDFS

Иерархия каталогов и файлов
Файлы поделены на блоки (128 MB)
Метаданные отделены от данных
NameNode

HDFS Иерархия каталогов и файлов Файлы поделены на блоки (128 MB) Метаданные
хранит все метаданные в ОП
DataNode хранит реплики блоков в виде файлов на диске
Блоки дублируются на 3 DataNode

Слайд 8

HBase

Распределённое ключ-значение хранилище на базе HDFS
Таблицы:
Строки с уникальными ключами
Произвольное количество колонок
Колонки сгруппированы

HBase Распределённое ключ-значение хранилище на базе HDFS Таблицы: Строки с уникальными ключами
в группы колонок
Таблицы разбиты на «регионы»
Горизонтально по строкам
Вертикально по группам колонок

Слайд 9

ZooKeeper
Распределённая служба координации распределённых задач
Выборы лидера
Распределённые блокировки
Координация и уведомления о событиях

ZooKeeper Распределённая служба координации распределённых задач Выборы лидера Распределённые блокировки Координация и уведомления о событиях

Слайд 10

Pig

Платформа для анализа больших наборов данных
Pig Latin – SQL-подобный язык
Простота кодирования
Возможности оптимизации
Расширяемость
Pig-программы

Pig Платформа для анализа больших наборов данных Pig Latin – SQL-подобный язык
преобразуются в набор MapReduce заданий (jobs)

Слайд 11

Hive

Служит тем же целям, что и Pig
Таблицы
Типизированные колонки (int, float, string, date,

Hive Служит тем же целям, что и Pig Таблицы Типизированные колонки (int,
boolean)
Поддержка списков и отображений
Реально данные хранятся в плоских файлах
Хранит метаданные о Hive-таблицах в RDB
Схемы таблиц
Расположение в HDFS

Слайд 12

Avro

Система сериализации данных
Предоставляет:
Компактный бинарный формат
Удалённые вызовы процедур (RPC)
Простая интеграция с динамическими языками
Чтение/запись

Avro Система сериализации данных Предоставляет: Компактный бинарный формат Удалённые вызовы процедур (RPC)
с использованием схем

Слайд 13

HDFS. Поставленные цели

Очень большой объём распределённых данных
10К узлов, 100М файлов, 10ПБ

HDFS. Поставленные цели Очень большой объём распределённых данных 10К узлов, 100М файлов,
данных
Ненадёжное (commodity) оборудование
Репликация данных
Обнаружение и восстановление после сбоев
Оптимизация для пакетной обработки
Вычисление перемещается к данным
Большая совокупная пропускная способность

Слайд 14

HDFS. Архитектура

HDFS. Архитектура

Слайд 15

HDFS. Архитектура

Общее пространство имён для всего кластера
Согласованность данных
Write-once-read-many модель доступа
Append-запись всё ещё

HDFS. Архитектура Общее пространство имён для всего кластера Согласованность данных Write-once-read-many модель
нестабильна
Файлы разбиваются на блоки
Обычно по 128МБ
Каждый блок дублируется на несколько узлов
«Умный» клиент
Может узнать местоположение блоков
Доступ к данным непосредственно через DataNode

Слайд 16

HDFS. Архитектура

HDFS. Архитектура

Слайд 17

HDFS. NameNode

Управляет пространством имён
Связывает имя файла с набором блоков
Связывает блок с набором

HDFS. NameNode Управляет пространством имён Связывает имя файла с набором блоков Связывает
DN
Контролирует процессы репликации
Единственная точка отказа
Лог транзакций (journal) хранится в нескольких местах
Локальный каталог
Каталог в удалённой ФС (NFS/CIFS)

Слайд 18

HDFS. NameNode. Метаданные

Метаданные для всего кластера хранятся в ОП
Типы метаданных
Списки файлов
Списки блоков

HDFS. NameNode. Метаданные Метаданные для всего кластера хранятся в ОП Типы метаданных
для каждого файла
Списки DN для каждого блока
Атрибуты файлов (время создания, количество реплик и т.д.)

Слайд 19

HDFS. DataNode

Сервер блоков
Хранит данные в локальной ФС
Хранит метаданные блоков (CRC)
Предоставляет данные и

HDFS. DataNode Сервер блоков Хранит данные в локальной ФС Хранит метаданные блоков
метаданные клиентам
Периодически (3 секунды) посылает статусное сообщение (heartbeat) NN
Список всех существующих блоков
Объём занятого/свободного места
Количество активных обменов данными
Конвейерная работа с данными
Передача данных заданным DN

Слайд 20

HDFS. CheckpointNode

Периодически создаёт новый checkpoint образ из checkpoint и journal, загруженных с

HDFS. CheckpointNode Периодически создаёт новый checkpoint образ из checkpoint и journal, загруженных
NN
Загружает новый checkpoint на NN. Существующий journal урезается

Слайд 21

HDFS. Запись

Клиент запрашивает у NN список DN-кандидатов на запись
Начинает конвейерную запись с

HDFS. Запись Клиент запрашивает у NN список DN-кандидатов на запись Начинает конвейерную запись с ближайшего узла
ближайшего узла

Слайд 22

HDFS. Чтение

Клиент запрашивает местоположение реплик блока у NN
Начинает чтение с ближайшего узла,

HDFS. Чтение Клиент запрашивает местоположение реплик блока у NN Начинает чтение с
содержащего реплику блока

Слайд 23

HDFS. Расположение реплик

Первая реплика помещается на локальном узле
Вторая реплика – на узел

HDFS. Расположение реплик Первая реплика помещается на локальном узле Вторая реплика –
удалённой стойки
Третья – на другой узёл той же удалённой стойки
Остальные размещаются случайно
DN содержит не более одной реплики блока
Стойка содержит не более двух реплик блока

Слайд 24

HDFS. Balancer

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

HDFS. Balancer Процент используемого дискового пространства на всех DN должен быть одинаков
при добавлении новой DN
Не мешает основной работе HDFS
При сильной загрузке сети трафик урезается до минимума (1 Мбит/с)

Слайд 25

HDFS. Block Scanner

Каждая DN периодически запускает BS
BS проверяет, что контрольные суммы соответствуют

HDFS. Block Scanner Каждая DN периодически запускает BS BS проверяет, что контрольные
блокам данных
Если BS находит повреждённый блок, он оповещает об этом NN
NN помечает реплику как испорченную и начинает процесс репликации для блока
По окончании повреждённая реплика готова к удалению

Слайд 26

HDFS. Интерфейс пользователя

Команды пользователя HDFS
hadoop fs –mkdir /foodir
hadoop fs –cat /foodir/barfile.txt
hadoop fs

HDFS. Интерфейс пользователя Команды пользователя HDFS hadoop fs –mkdir /foodir hadoop fs
–ls /foodir
Команды администратора HDFS
hadoop dfsadmin -report
hadoop dfsadmin –safemode enter
Веб-интерфейс
http://namenode:port/dfshealth.jsp

Слайд 27

HDFS. Веб-интерфейс

HDFS. Веб-интерфейс

Слайд 28

HDFS. Использование в Yahoo!

3500 узлов
2 процессора Xeon@2.5GHz (по 4 ядра)
Red Hat Enterprise

HDFS. Использование в Yahoo! 3500 узлов 2 процессора Xeon@2.5GHz (по 4 ядра)
Linux Server Release 5.1
Sun Java JDK 1.6.0_13-b03
4 SATA диска (1 TB каждый)
16GB RAM
1-gigabit Ethernet
NamaNode с 64 GB RAM
3.3 PB данных (9.8 PB с репликами)
1-2 узла выходят из строя каждый день

Слайд 29

HDFS. Benchmarks

Gray Sort benchmark. Сортировка 1 ТБ и 1 ПБ данных. Записи

HDFS. Benchmarks Gray Sort benchmark. Сортировка 1 ТБ и 1 ПБ данных.
по
100 байт. При сортировке ТБ количество реплик было сокращено
до одной, при сортировке ПБ - до двух.

NameNode benchmark.
Несколько локальных
клиентских потоков
выполняют одну и ту же
операцию.

Имя файла: Стек-технологий-Apache-Hadoop.-Распределённая-файловая-система-HDFS.pptx
Количество просмотров: 198
Количество скачиваний: 0