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

Презентация:



Advertisements
Похожие презентации
BigData изнутри: технологии и алгоритмы Александр Сербул руководитель направления, разработчик Партнерская конференция «1С-Битрикс»
Advertisements

Hadoop Лекция 1. Введение в Hadoop и MapReduce. Что такое Hadoop Инфраструктура (framework) для параллельной обработки больших объемов данных (терабайты)
© 2009 Grid Dynamics Scaling Mission Critical Systems Алексей Рагозин Oracle Day, 2009.
Hadoop Лекция 8. Основы администрирования Hadoop.
Подготовила: Бовина Елена М-063. это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов, обладающих одинаковым набором.
Как Map/Reduce спас Яндекс.Статистику. Background Взрывной рост объема данных, за 8 лет объем дневных данных вырос в 2000 раз с 2ГБ до 4ТБ Скорости процессоров,
Подготовила: Бовина Елена М-063. это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов, обладающих одинаковым набором.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
«Особенности файловой системы WinFS» Сравнение с предыдущими файловыми системами.
Управление свободным пространством на файловой системе в UNIX и Linux Дмитрий Трубач. IBA.
Безопасное хранения Ваших данных в сети интернет!.
Раздел 3 Сетевые модели. Тема 3.1 Понятие сетевой модели. Архитектура сети определяет основные элементы сети, характеризует ее общую логическую организацию,
Текстовые файлы Вербицкая Ольга Владимировна, Заозерная школа 16.
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
1 Многомерная СУБД UMS-FAD Компания «Х-Технология» Москва 2010.
Реализация концепции построения и формирования отраслевой системы государственного учета, регистрации и мониторинга (ОСГУРМ) информационных ресурсов сферы.
БАЗЫ ДАННЫХ часть II Распределенные и параллельные системы управления базами данных.
Лекция 23 Лекция 23 Схемы распределения данных и запросов. Обработка распределенных данных и запросов. Многопотоковые и многосерверные архитектуры. Типы.
Администрирование информационных систем Лекция 4. Система управления базами данных.
Операционные системы и среды. Схема устройства жесткого диска Дорожка N Сектор (блок) Пластина 1 Пластина 2 Цилиндр 0 сторона Диск – одна или несколько.
Транксрипт:

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

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

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

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

MapReduce

MapReduce

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HDFS. Использование в Yahoo! 3500 узлов 2 процессора (по 4 ядра) Red Hat Enterprise 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 узла выходят из строя каждый день

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

Спасибо за внимание Вопросы ?