25
С чего начать внедрение Hadoop Алексей Еремихин,

С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

  • Upload
    ontico

  • View
    6.740

  • Download
    8

Embed Size (px)

Citation preview

Page 1: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

С чего начать внедрение Hadoop

Алексей Еремихин,

Page 2: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

О чём доклад

● задачи● что такое Hadoop● что внутри● что вокруг● опыт Badoo

Page 3: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Какие задачи решаем

● Хранение архивов данных● Чтение архивов данных● Сбор статистики● Подготовка данных для выгрузки

Page 4: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Хранение архивов

• Архив — не бекап

• Храним информацию в файлах

• Масштабирование

• Репликация

• Обработка отказов

Page 5: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Чтение архивов

• Разархивация

• Распараллеливание

• SQL доступ

• Адаптация форматов к SQL

Page 6: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Сбор статистики

• Число событий

• Число уникальных событий

• Разбить по параметрам

• SQL

Page 7: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Подготовка данных

• Построение ROLAP/MOLAP моделей

• ETL (transform, load)

• Расчет долгих сложных вещей (рекомендации)

Page 8: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Hadoop

Page 9: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Hadoop внутри• HDFS - файловая система

• YARN/MapReduce - обработка данных

Page 10: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

HDFS

Page 11: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Командная строка

Linux:

ls, du, mv, cp, rm, cat, mkdir, test, touchz, tail, chmod, chown, chgrp

специфичные:

copyFromLocal, copyToLocal, setrep, text

Page 12: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

YARN / MapReduce• Hadoop 2.x YARN + MapReduce

• Hadoop 1.x MapReduce

• многозадачность невытесняющая

Page 13: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Hive

• SQL вместо MapReduce

• SQL для доступа к текстовым архивам

• SQL для статистики

• SQL для подготовки данных

Page 14: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Hive

Page 15: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Вокруг Hadoop

Page 16: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Экосистемаhttps://hadoopecosystemtable.github.io

• 150 продуктов вокруг Hadoop • 7 файловых систем• 18 распределенное программирование• 15 NoSQL• 11 SQL• 9 newSQL• 11 сбор данных• 6 машинное обучение

Page 17: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Hadoop в Badoo

Наше железо:Кластер: 15 серверов (16 CPU, 192Gb RAM, 10 disks 1Tb)2 сервера подготовки данных (12 CPU, 32Gb RAM)

Page 18: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Хранение данных

• 10 миллардов событий в день

• 600 Gb сжатых данных в день

• Файлов 1 400 000 — 50Tb

• Блоков 1 500 000

• Средний фактор репликации 2.75

• Все данные сжаты gzip/bzip/Snappy

Page 19: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Обработка данных

• Агрегация и фильтрация - Hive

• Расчет значений для TimeSeries - Spark

• Streaming — когда не Spark и не Hive

• Форматы: json, tab separated

Page 20: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Просто советы• сжимайте данные (gzip / bzip2 / lzo)

• нарезайте на файлы

• размер файла ~ несколько блоков

• нарезайте директории по дням / часам

• не храните данных в пути файла

• бекапьте неймноду

• неймноду бекапьте

Page 21: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Чего не надо делать

• все на 1 сервере – только девел

• меньше 1 Гб памяти - много не сделать

• на 1 ядерных серверах - хранилище

• маленький проект - невыгодно

• разнос по датацентрам - нет (из коробки)

Page 22: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Книги

Page 23: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Спасибо!

[email protected]

Как меня найти: @: skype:

Page 24: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Просто советы 2• Используйте форматы с которыми сможете работать и

без Hadoop (java haters)• Восстановите данные из HDFS без java (java haters)• Мониторьте состояние Hadoop• tab separated — отличный формат, но не гибкий• json stream — отличный формат, но не быстрый• сsv — ужасный формат (отсутствие стандарта)• Планируйте рост• Hadoop - не production ready, но вполне стабилен• Решайте задачи, а не внедряйте хадуп• Читайте исходники, они лучше документации

Page 25: С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)

Чего не надо делать

Нельзя кошек сушить в микроволновке

Нельзя не платить налоги

Нельзя облизывать электрические розетки

Нельзя пить воду из унитаза