SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
СРЕДЫРАЗРАБОТКИ HADOOPБЫСТРОГО РАЗВЁРТЫВАНИЯ 
Hadoopв стиле DevOps 
Андрей Николаенко, 
архитектор, IBS
DEVOPS 
Интегрированные в единый процесс разработка, тестирование и администрирование 
Планирование 
Разработка 
Сборка 
Тестирование 
Выпуск 
Развёртывание 
Мониторинг 
Интенсификация: десятки выпусков в день 
Тесное взаимодействие с «продуктивным ландшафтом» 
Автоматизация всех этапов жизненного цикла 
Универсализация специалистов и интеграция коллективов 
Особая культура создания программных продуктов
ФЕНОМЕН ПРОФЕССИИ “DATA SCIENTIST” 
[Предметные] экспертные навыки 
(substantive expertise) 
Навыки программирования 
(hacking skills) 
Навыки применения математической статистики 
(math&statsskills) 
Наука о данных 
В одних руках: 
Постановка задач 
Подбор методов 
Проектирование алгоритмов 
Реализация алгоритмов 
Отладка и оптимизация 
Развёртывание кластеров? 
Диаграмма Конвея
ЗАДАЧА БЫСТРОГО РАЗВЁРТЫВАНИЯ КЛАСТЕРА 
Высвободить ресурсы 
«Заморозить» данные 
Освободить узлы оборудования 
Запустить вычисления и отследить их 
Определить параметры заданий 
Журналироватьвыполнение 
Вести мониторинг 
Подключить наборы данных 
Идентифицировать наборы данных 
Сконфигурировать узлы имён 
Загрузить или подключить к узлам обработки 
Настроить сеть 
DHCP 
Маршрутизация 
Раздача имён 
Создать кластер 
Выделить узлы оборудования 
Установить операционные системы 
Установить «экосистемы» (Hadoop, Hive, Spark, Mahout, …)
“ЭКОСИСТЕМА” ПРОЕКТОВ 
HDFS 
GlusterFS 
Ceph 
YARN 
MapReduce 
(пакетная обработка) 
Tez 
(интерактивная обработка) 
Amazon S3 
CloudStore 
Swift 
Pig 
(сценарии) 
Hive 
(запросы) 
HBase 
(NoSQL) 
Impala 
(SQL) 
Drill 
(аналог Dremel) 
Mahout 
(машинное обучение) 
Zookeeper 
(координатор) 
Ambari 
(управление) 
Hue 
(ClouderaManager) 
Ganglia 
(монитор) 
Spark(оперативная обработка) 
Storm 
(поточная обработка) 
Kafka 
(брокер сообщений) 
Oozie 
(workflow) 
Sqoop 
(пакетная загрука) 
Flume 
(поточная загрузка) 
Hama 
(машинное обучение) 
Taychon(in-memory data grid) 
Azure Blob Storage 
файловые системы 
объектные хранилища 
обработчики 
СУБД-сервис 
глубинный анализ 
связующие 
управляющие 
Сторонние проекты 
ЯдроHadoop 
Проекты Фонда Apache
КЛАССИЧЕСКИЙ HADOOP 
Установка на «голом железе»
КЛАССИЧЕСКОЕ ПОЗИЦИОНИРОВАНИЕ HADOOP 
Горизонтально масштабируемый кластер 
Узлы оборудования массового класса 
Устройства хранения прямого подключения 
Linuxна «голом железе» 
Один компьютер – один узел кластера 
Встроенные диски: узел обработки = узел данных
ТИРАЖИРУЕМЫЙ КЛАССИЧЕСКИЙ КЛАСТЕР 
На примере Oracle Big Data Appliance 
18 узлов, в каждом: 
2 восьмиядерныхXeon E5-2650 V2 
64ГБ ОЗУ 
12 SAS-дисков (4 ТБ, 7200об/мин) 
Сети: 
InfinibandQDR (40 Гбит/с), по 2 порта в каждом узле 
Ethernet 10 Гбит/с (по 4 порта в каждом узле)
НЕУДОБСТВА ДЛЯ РАЗРАБОТКИ 
Ограниченный уровень узлового параллелизма 
Жёсткая привязка к распределению данных по узлам 
Ограничения по выбору различных инструментов и версий (зависимости…) 
Однако, с появлением YARN и мультиарендности– возможности запускать различные задания в разных «экосистемах», – преодолены многие другие недостатки классических конфигураций на «голом железе»
HADOOPИЗ ОБЛАКА 
Hadoopв публичных облаках
ОСНОВНЫЕ ПРОВАЙДЕРЫ 
•На базе MapR 
•Интегрирован с S3 
AmazonElastic MapReduce 
•На базе Hortonworks 
•Интегрирован с SwiftFS 
Rackspace 
•На базе Hortonworks 
Microsoft Azure 
•BigInsights 
IBM Bluemix
AMAZON ELASTIC MAPREDUCE(1)
AMAZON ELASTIC MAPREDUCE(2)
AMAZON ELASTIC MAPREDUCE(3)
AMAZON ELASTIC MAPREDUCE(4)
НЕУДОБСТВА РАЗРАБОТКИ В ОБЛАКЕ 
Дорогая и длительная доставка данных 
Работа через брандмауэры, зависимость от сетевой связности 
Неэффективность заморозки данных 
Ограниченность экосистем 
Высокая стоимость 
Невозможность обрабатывать конфиденциальные данные
ЧАСТНОЕ HADOOP-ОБЛАКО
КЛЮЧЕВЫЕ ПРИНЦИПЫ 
Использование средств виртуализации 
Использование средств автоматизации развёртывания 
Отделение узлов хранения от узлов обработки 
III 
II 
I
ВИРТУАЛИЗАЦИЯ 
I
СОМНЕНИЯ В ПРИМЕНИМОСТИ ВИРТУАЛИЗАЦИИ 
Зачем делить узел на несколько машин, когда можно занять все ресурсы узла одной машиной? 
Накладные расходы? 
Повышение уровня параллелизма за логического разделения 
Не все решения по виртуализации грешат накладными расходами
КОНТЕЙНЕРНАЯ ВИРТУАЛИЗАЦИЯ 
Parallels Virtuozzo(OpenVZ) 
Требуется специальное ядро Linux 
Идёт процесс интеграции в ядро Linux 
Зрелая техника контейнерной виртуализации 
Docker 
Используетсредства LXC– разделение пространств имён (namespaces) и вычислительных ресурсов (cgroups) 
Каскадно-объёмное монтирование(AuFS)
DOCKERVSKVM ДЛЯ HADOOP 
ЦПУ 
1 
26 
ОЗУ 
1 
3
DOCKER-ОБРАЗЫ 
⇛dockersearch hadoop 
NAME DESCRIPTION STARS AUTOMATED 
sequenceiq/hadoop-dockerAn easy way to try Hadoop45 [OK] 
sequenceiq/ambariProvision a Hadoopcluster with Apache Amb... 13 [OK] 
sequenceiq/hadoop-ubuntuAn easy way to try Hadoopon Ubuntu 5 [OK] 
pcting/hadoop-single-node Hadoop2.2.0, OpenSSHServer, Zookeeper on... 4 [OK] 
ruo91/hadoopApache hadoop2.x -Pseudo-Distributed Mode 2 [OK] 
ingensi/hadoop-cdh-base ClouderaHadoopimage base. Provides Oracl... 2 [OK] 
bouil/hadoop-single-node Hadoop2.2.0 single node installation 1 
bioshrek/hadoop-hdfs-namenode1 [OK] 
meabed/hadoop-debianApache Hadoop2.5.1 -DebianWheezy ! 1 [OK] 
ingensi/hadoop-cdh-pseudo Easy to run ClouderaHadooppseudo distrib... 1 [OK] 
bioshrek/hadoop-hdfs-datanode1 [OK] 
richhaase/hdp2-hadoop 1 [OK] 
notyy/docker_hadoophadoopimage build on ubuntu,fullysupport... 1 [OK] 
labianchin/hadoop1 [OK] 
raulbejarano/hadoop-mongodbHadoopSingle Node with MongoDBserver. 1 
beatworld/hadoopA 1.2.1 Hadoopon Ubuntu 12.04. Installat... 1 
rogaha/apache-hadoop-hdfs-precise 1 
pwiechow/hadoop1 [OK] 
⇛dockerpull sequenciq/hadoop-ambari 
⇛curl -Lo .amb j.mp/docker-ambari-170ea && . .amb 
⇛amb-deploy-cluster 4 
n-узловыйуправляемый кластерот SequencIQза 2–3 мин.
DOCKERВНУТРИ YARN? 
Основной вопрос: не реализовать ли на уровне LXCипространств имён? 
Почему бы не контейнеризировать задания, задействовав Docker? https://issues.apache.org/jira/browse/YARN-1964 
Существует проблема зависимостей для разного набора инструментов 
Flume + Pig + Hive 
OpenMPI 
YARN 
распределяет ресурсы для Hadoop-заданий 
поддерживает мультиарендность 
использует для ограничения ресурсов cgroups
АВТОМАТИЗАЦИЯ 
II
ДИСТРИБУТИВЫ И ПАКЕТЫ 
Apache BigTop–средство для сборки .rpm-и .deb-пакетов,собираются комплекты для: 
Автоматизация средствами дистрибутивов 
ClouderaManager 
Apache Ambari(Hortonworks) 
Red HatEnterprise Linux 
Fedora 
Debian 
Ubuntu
ЗАДАЧИ АВТОМАТИЗАЦИИ В ПОТОКЕ AMBARI 
Изображения: ©2014, Hortonworks
ЗАДАЧИ АВТОМАТИЗАЦИИ В ПОТОКЕ AMBARI 
Изображения: ©2014, Hortonworks
ЗАДАЧИ АВТОМАТИЗАЦИИ В ПОТОКЕ AMBARI 
Изображения: ©2014, Hortonworks
ЗАДАЧИ АВТОМАТИЗАЦИИ В ПОТОКЕ AMBARI 
Изображения: ©2014, Hortonworks
ЗАДАЧИ АВТОМАТИЗАЦИИ В ПОТОКЕ AMBARI 
Изображения: ©2014, Hortonworks
РАСПРЕДЕЛЕНИЕ ЗАДАЧ АВТОМАТИЗАЦИИ 
Высвободить ресурсы 
«Заморозить» данные 
Освободить узлы оборудования 
Запустить вычисления и отследить их 
Определить параметры заданий 
Журналироватьвыполнение 
Вести мониторинг 
Подключить наборы данных 
Идентифицировать наборы данных 
Сконфигурировать узлы имён 
Загрузить или подключить к узлам обработки 
Настроить сеть 
DHCP 
Маршрутизация 
Раздача имён 
Создать кластер 
Выделить узлы (вычислительные ресурсы) 
Установить операционные системы 
Установить «экосистемы» (Hadoop, Hive, Spark, Mahout, …) 
–задачи, решаемые в средствах управления экосистемы Hadoop(Ambari, Hue)
PUPPET И CHEF 
Средства централизованного управления конфигурациями программного обеспечения 
Написаны на Ruby 
Выполнены в Ruby-стиле (командная строка, «соглашение превыше конфигурации») 
Используют декларативный предметно-ориентированный язык 
Puppet 
Богаче веб-интерфейс 
Больше выложенных «рецепетов» 
Язык конфигураций –JSON- подобный 
Chef 
Серверная часть на Erlang 
Язык конфигураций – подмножество Ruby
VAGRANT 
Соглашения –превыше конфигураций! 
Обёртка над средствами виртуализации 
VirtualBox 
VMWare Workstation 
Docker 
Virtuozzo 
Обёртка над средствами конфигурационного управления 
Puppet 
Chef 
$ gitclone https://github.com/Cascading/vagrant-cascading-hadoop-cluster 
$ vagrant up 
$ vagrant sshmaster 
$ (master) sudoprepare-cluster.sh 
$ (master) sudostart-all.sh 
КластерHadoop2.0 +Hbase+ Cascading из 4 узлов 
Под управлением Puppet
APACHE BIGTOP 
Apache BigTop–проект создания тиражируемых пакетов «экосистем» («упаковок») для программных средств вокруг Hadoop 
Позволяет собирать RPM-и deb-пакеты с учётом зависимостей 
Поддерживает автоматическое тестирование и непрерывную интеграцию (Jenkins)
ОТДЕЛЕНИЕ ХРАНЕНИЯ ОТ ОБРАБОТКИ 
III
ОГРАНИЧЕНИЯ РАСПРЕДЕЛЁННОЙ ФАЙЛОВОЙ СИСТЕМЫ 
GeorgePorter. DecouplingstorageandcomputationinHadoopwithSuperDataNodes//SIGOPS Oper. Syst. Rev. , vol. 44(2), 2010, 41–46 
Жёстко заданный размер блока 
Конфигурационнозаданный коэффициент репликации (обычно 3) 
Иерархическая структура 
Отделить узлы хранения от узлов обработки? 
Вывести проблему распределения данныхна сторону системы хранения?
ОБЪЕКТНЫЙ ПОДХОД 
Сквозная уникальная идентификация 
Инкапсуляция 
Наследование 
Полиморфизм 
Прототипирование 
•GUID, который позволит идентифицировать любые объёмы мировых данных 
•данные вместе с метаданными и методами доступа 
•создание новых типов объектов на базе существующих 
•работа с объектами через разные интерфейсы из разных сервисов 
•наборы объектов- образцов, предварительно описанные
БОЛЬШОЕ ОБЛАЧНОЕ ОБЪЕКТНОЕ ХРАНИЛИЩЕ 
GUID 
Метаинфо 
Содержимое…… 
Геозона1… 
Сервис геоперенаправления 
Сервис геодоставки 
Классификатор механизма хранения 
Object Storage API 
MR API 
CIFS 
NFS 
Torrent 
WebDAV 
NoSQLDB 
Hadoop 
File sharing 
Media Library 
ECM 
Archive 
Геозонаn 
REST
ОБЪЕКТНЫЕ ХРАНИЛИЩА ВМЕСТОHDFS 
Поддержка в стандартном дистрибутиве Apache Hadoop 
Amazon S3 
CloudStore 
OpenStack Swift 
Отдельные разработки 
Apache CloudStack 
Azure Blob Storage 
Hortonworks Ozone
МИНУСЫ ОБЪЕКТНОГО ХРАНИЛИЩА ДЛЯ HADOOP 
•Но если приложение работало с Amazon S3 –то оно уже готово к объектному хранению 
Возможные привязки к файлам и иерархиям в унаследованных MapReduce-приложениях 
•Но как только запускается задание –сырые данные распределяются по узлам обработки, то есть обработка локальна 
Между узлами обработки и сырымиданными –сеть 
•Но есть богатая история Amazon Elastic MapReduce 
Новизна, отсутствие практики 
•Но выгодно в условиях постоянной пересборки и изменений наборов данных 
Невыгодно в условиях стабильного набора данных («тихого озера»)
ОЗЁРА ДАННЫХ 
Предложены в 2011 году Джеймсом Диксоном (генеральным директором Pentaho) 
собранные в большую распределённую файловую систему данные в исходных форматах, пригодные для Hadoop-обработки 
«Если витрины данных –это бутылки с отфильтрованной водой, то озеро –их неисчерпаемый источник» 
Изображение: ©2014, Gartner
СУММА ТЕХНОЛОГИЙ
ПУТИ К РАЗРАБОТЧЕСКОМУ «HADOOP-КАК-УСЛУГА» 
Мониторинг 
Управление 
Конфигурирование 
Автоматизация 
Виртуализация 
Хранение 
Lustre 
Apache Ambari 
OpenStackSwift 
Docker 
LXC 
Virtuozzo 
VirtualBox 
Vagrant 
Puppet 
Chef 
OpenStackSahara 
Nagios 
ClouderaManager 
GPFS
DATASCIENCETOOLBOX. ORG 
ЕрунЯнсенс. Наука о данных в командной строке. N. Y.: O’Reilly, 2013 
Первый доклад на Strata + HadoopWorld’ 2014
ПУТЬ ОТ DATASCIENCETOOLBOX 
Мониторинг 
Управление 
Конфигурирование 
Автоматизация 
Виртуализация 
Хранение 
Lustre 
Apache Ambari 
OpenStackSwift 
Docker 
LXC 
Virtuozzo 
VirtualBox 
Vagrant 
Puppet 
Chef 
OpenStackSahara 
Nagios 
ClouderaManager 
GPFS
ПУТЬ ОТ SEQUENCEIQ 
Мониторинг 
Управление 
Конфигурирование 
Автоматизация 
Виртуализация 
Хранение 
Lustre 
Apache Ambari 
OpenStackSwift 
Docker 
LXC 
Virtuozzo 
VirtualBox 
Vagrant 
Puppet 
Chef 
OpenStackSahara 
Nagios 
ClouderaManager 
GPFS
ПРИМЕР ОТ CLOUDERA 
Мониторинг 
Управление 
Конфигурирование 
Автоматизация 
Виртуализация 
Хранение 
Lustre 
Apache Ambari 
OpenStackSwift 
Docker 
LXC 
Virtuozzo 
VirtualBox 
Vagrant 
Puppet 
Chef 
OpenStackSahara 
Nagios 
ClouderaManager 
GPFS
ВАРИАНТ HORTONWORKS 
Мониторинг 
Управление 
Конфигурирование 
Автоматизация 
Виртуализация 
Хранение 
Lustre 
Apache Ambari 
OpenStackSwift 
Docker 
LXC 
Virtuozzo 
VirtualBox 
Vagrant 
Puppet 
Chef 
OpenStackSahara 
Nagios 
ClouderaManager 
GPFS
СПАСИБО ЗА ВНИМАНИЕ! mailto:anikolaenko@ibs.ru

Más contenido relacionado

La actualidad más candente

Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыVsevolod Shabad
 
Using Sentry for error collection and analysis in a distributed system - Yevg...
Using Sentry for error collection and analysis in a distributed system - Yevg...Using Sentry for error collection and analysis in a distributed system - Yevg...
Using Sentry for error collection and analysis in a distributed system - Yevg...Kuberton
 
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"LogeekNightUkraine
 
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
 Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов  Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов it-people
 
Specializirovannye distributivy dlya_ustarevshih_pk_v_byudzhetnyh_uchrezhdeniyah
Specializirovannye distributivy dlya_ustarevshih_pk_v_byudzhetnyh_uchrezhdeniyahSpecializirovannye distributivy dlya_ustarevshih_pk_v_byudzhetnyh_uchrezhdeniyah
Specializirovannye distributivy dlya_ustarevshih_pk_v_byudzhetnyh_uchrezhdeniyahЛьвовский ПЛЖТ
 
Опыт применения виртуализации для web-систем часть 2
Опыт применения виртуализации для web-систем часть 2Опыт применения виртуализации для web-систем часть 2
Опыт применения виртуализации для web-систем часть 2Alex Chistyakov
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктуройdddpaul
 
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)Ontico
 
Симаков Алексей - Системы управления кластерами
 Симаков Алексей - Системы управления кластерами   Симаков Алексей - Системы управления кластерами
Симаков Алексей - Системы управления кластерами Yandex
 
CodeFest 2013. Чистяков А. — Использование систем виртуализации в веб
CodeFest 2013. Чистяков А. — Использование систем виртуализации в вебCodeFest 2013. Чистяков А. — Использование систем виртуализации в веб
CodeFest 2013. Чистяков А. — Использование систем виртуализации в вебCodeFest
 
Хранение файлов: защита, быстродействие, маштабирование
Хранение файлов: защита, быстродействие, маштабированиеХранение файлов: защита, быстродействие, маштабирование
Хранение файлов: защита, быстродействие, маштабированиеDellTeam
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреDEPO Computers
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годBadoo Development
 
Что нового в NOVA Microhypervisor
Что нового в NOVA MicrohypervisorЧто нового в NOVA Microhypervisor
Что нового в NOVA MicrohypervisorYandex
 
Беспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQLБеспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQLДмитрий Васильев
 
ETegro: решения для ЦОД
ETegro: решения для ЦОДETegro: решения для ЦОД
ETegro: решения для ЦОДMirantis IT Russia
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 

La actualidad más candente (20)

Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
 
Using Sentry for error collection and analysis in a distributed system - Yevg...
Using Sentry for error collection and analysis in a distributed system - Yevg...Using Sentry for error collection and analysis in a distributed system - Yevg...
Using Sentry for error collection and analysis in a distributed system - Yevg...
 
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
 
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
 Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов  Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
 
Specializirovannye distributivy dlya_ustarevshih_pk_v_byudzhetnyh_uchrezhdeniyah
Specializirovannye distributivy dlya_ustarevshih_pk_v_byudzhetnyh_uchrezhdeniyahSpecializirovannye distributivy dlya_ustarevshih_pk_v_byudzhetnyh_uchrezhdeniyah
Specializirovannye distributivy dlya_ustarevshih_pk_v_byudzhetnyh_uchrezhdeniyah
 
Опыт применения виртуализации для web-систем часть 2
Опыт применения виртуализации для web-систем часть 2Опыт применения виртуализации для web-систем часть 2
Опыт применения виртуализации для web-систем часть 2
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
 
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
 
Симаков Алексей - Системы управления кластерами
 Симаков Алексей - Системы управления кластерами   Симаков Алексей - Системы управления кластерами
Симаков Алексей - Системы управления кластерами
 
CodeFest 2013. Чистяков А. — Использование систем виртуализации в веб
CodeFest 2013. Чистяков А. — Использование систем виртуализации в вебCodeFest 2013. Чистяков А. — Использование систем виртуализации в веб
CodeFest 2013. Чистяков А. — Использование систем виртуализации в веб
 
Хранение файлов: защита, быстродействие, маштабирование
Хранение файлов: защита, быстродействие, маштабированиеХранение файлов: защита, быстродействие, маштабирование
Хранение файлов: защита, быстродействие, маштабирование
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
 
PostgreSQL on sas/ssd/nvme/nvdimm
PostgreSQL on sas/ssd/nvme/nvdimmPostgreSQL on sas/ssd/nvme/nvdimm
PostgreSQL on sas/ssd/nvme/nvdimm
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Scaling PostgreSQL
Scaling PostgreSQLScaling PostgreSQL
Scaling PostgreSQL
 
Что нового в NOVA Microhypervisor
Что нового в NOVA MicrohypervisorЧто нового в NOVA Microhypervisor
Что нового в NOVA Microhypervisor
 
Беспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQLБеспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQL
 
ETegro: решения для ЦОД
ETegro: решения для ЦОДETegro: решения для ЦОД
ETegro: решения для ЦОД
 
Mirantis OpenStack
Mirantis OpenStackMirantis OpenStack
Mirantis OpenStack
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 

Destacado

Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Introductory Keynote at Hadoop Workshop by Ospcon (2014)Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Introductory Keynote at Hadoop Workshop by Ospcon (2014)Andrei Nikolaenko
 
Note on hyperconvered infrastructure on CIPR
Note on hyperconvered infrastructure on CIPR Note on hyperconvered infrastructure on CIPR
Note on hyperconvered infrastructure on CIPR Andrei Nikolaenko
 
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013Andrei Nikolaenko
 
IBS at IBM Fast Data (Moscow, 2014)
IBS at IBM Fast Data (Moscow, 2014)IBS at IBM Fast Data (Moscow, 2014)
IBS at IBM Fast Data (Moscow, 2014)Andrei Nikolaenko
 
SSD для вашей базы данных, Петр Зайцев (Percona)
SSD для вашей базы данных, Петр Зайцев (Percona)SSD для вашей базы данных, Петр Зайцев (Percona)
SSD для вашей базы данных, Петр Зайцев (Percona)Ontico
 
SQL+NoSQL: On the Way to Converged Data Management Platforms
SQL+NoSQL: On the Way to Converged Data Management PlatformsSQL+NoSQL: On the Way to Converged Data Management Platforms
SQL+NoSQL: On the Way to Converged Data Management PlatformsAndrei Nikolaenko
 
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...Ontico
 
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...Ontico
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016Brendan Gregg
 

Destacado (10)

Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Introductory Keynote at Hadoop Workshop by Ospcon (2014)Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Introductory Keynote at Hadoop Workshop by Ospcon (2014)
 
Note on hyperconvered infrastructure on CIPR
Note on hyperconvered infrastructure on CIPR Note on hyperconvered infrastructure on CIPR
Note on hyperconvered infrastructure on CIPR
 
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
 
IBS at IBM Fast Data (Moscow, 2014)
IBS at IBM Fast Data (Moscow, 2014)IBS at IBM Fast Data (Moscow, 2014)
IBS at IBM Fast Data (Moscow, 2014)
 
SSD для вашей базы данных, Петр Зайцев (Percona)
SSD для вашей базы данных, Петр Зайцев (Percona)SSD для вашей базы данных, Петр Зайцев (Percona)
SSD для вашей базы данных, Петр Зайцев (Percona)
 
SQL+NoSQL: On the Way to Converged Data Management Platforms
SQL+NoSQL: On the Way to Converged Data Management PlatformsSQL+NoSQL: On the Way to Converged Data Management Platforms
SQL+NoSQL: On the Way to Converged Data Management Platforms
 
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...
 
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016
 
DBMS benchmarking overview
DBMS benchmarking overviewDBMS benchmarking overview
DBMS benchmarking overview
 

Similar a Rapid Deployment of Hadoop Development Environments

Антон Галицын
Антон ГалицынАнтон Галицын
Антон ГалицынCodeFest
 
«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС
«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС
«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС2ГИС Технологии
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиAndrey Markelov
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStackRussia
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПОDmitry Lazarenko
 
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft AzureJelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft AzureDmitry Lazarenko
 
Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...
Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...
Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...GeeksLab Odessa
 
Корпоративный Linux: осваиваем с нуля Red Hat Enterprise Linux
Корпоративный Linux: осваиваем с нуля Red Hat Enterprise LinuxКорпоративный Linux: осваиваем с нуля Red Hat Enterprise Linux
Корпоративный Linux: осваиваем с нуля Red Hat Enterprise LinuxSkillFactory
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Ontico
 
Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на DockerМихаил Бакулин
 
Drupal в облаке - Владимир Юнев
Drupal в облаке - Владимир ЮневDrupal в облаке - Владимир Юнев
Drupal в облаке - Владимир ЮневDrupalCamp MSK
 
SECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON'2016. Кириллов Александр, Continuous Integration под микроскопомSECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON'2016. Кириллов Александр, Continuous Integration под микроскопомSECON
 
Окружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииОкружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииAlexander Kirillov
 
Docker. Зачем он нам?
Docker. Зачем он нам?Docker. Зачем он нам?
Docker. Зачем он нам?Andrey Gerasimov
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Ruslan Sharipov
 
Приватный клауд на базе OpenStack
Приватный клауд на базе OpenStackПриватный клауд на базе OpenStack
Приватный клауд на базе OpenStackIlya Alekseyev
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаAlexander Kirillov
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаOpen-IT
 
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Ontico
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QASQALab
 

Similar a Rapid Deployment of Hadoop Development Environments (20)

Антон Галицын
Антон ГалицынАнтон Галицын
Антон Галицын
 
«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС
«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС
«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПО
 
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft AzureJelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
 
Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...
Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...
Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...
 
Корпоративный Linux: осваиваем с нуля Red Hat Enterprise Linux
Корпоративный Linux: осваиваем с нуля Red Hat Enterprise LinuxКорпоративный Linux: осваиваем с нуля Red Hat Enterprise Linux
Корпоративный Linux: осваиваем с нуля Red Hat Enterprise Linux
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
 
Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на Docker
 
Drupal в облаке - Владимир Юнев
Drupal в облаке - Владимир ЮневDrupal в облаке - Владимир Юнев
Drupal в облаке - Владимир Юнев
 
SECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON'2016. Кириллов Александр, Continuous Integration под микроскопомSECON'2016. Кириллов Александр, Continuous Integration под микроскопом
SECON'2016. Кириллов Александр, Continuous Integration под микроскопом
 
Окружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииОкружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризации
 
Docker. Зачем он нам?
Docker. Зачем он нам?Docker. Зачем он нам?
Docker. Зачем он нам?
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
 
Приватный клауд на базе OpenStack
Приватный клауд на базе OpenStackПриватный клауд на базе OpenStack
Приватный клауд на базе OpenStack
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
 

Más de Andrei Nikolaenko

Байтоадресуемая энергонезависимая память и СУБД
Байтоадресуемая энергонезависимая память и СУБДБайтоадресуемая энергонезависимая память и СУБД
Байтоадресуемая энергонезависимая память и СУБДAndrei Nikolaenko
 
Машины баз данных: концентрированное обозрение
Машины баз данных: концентрированное обозрениеМашины баз данных: концентрированное обозрение
Машины баз данных: концентрированное обозрениеAndrei Nikolaenko
 
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)Andrei Nikolaenko
 
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQLAndrei Nikolaenko
 
DBMS Benchmarks in a Nutshell
DBMS Benchmarks in a Nutshell DBMS Benchmarks in a Nutshell
DBMS Benchmarks in a Nutshell Andrei Nikolaenko
 
Инструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграцииИнструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграцииAndrei Nikolaenko
 
Эталонные тесты производительнсоти СУБД: обзор и тенденции
Эталонные тесты производительнсоти СУБД: обзор и тенденцииЭталонные тесты производительнсоти СУБД: обзор и тенденции
Эталонные тесты производительнсоти СУБД: обзор и тенденцииAndrei Nikolaenko
 
DBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
DBMS benchmarking overview and trends for Moscow ACM SIGMOD ChapterDBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
DBMS benchmarking overview and trends for Moscow ACM SIGMOD ChapterAndrei Nikolaenko
 
NoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsNoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsAndrei Nikolaenko
 

Más de Andrei Nikolaenko (9)

Байтоадресуемая энергонезависимая память и СУБД
Байтоадресуемая энергонезависимая память и СУБДБайтоадресуемая энергонезависимая память и СУБД
Байтоадресуемая энергонезависимая память и СУБД
 
Машины баз данных: концентрированное обозрение
Машины баз данных: концентрированное обозрениеМашины баз данных: концентрированное обозрение
Машины баз данных: концентрированное обозрение
 
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
 
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQL
 
DBMS Benchmarks in a Nutshell
DBMS Benchmarks in a Nutshell DBMS Benchmarks in a Nutshell
DBMS Benchmarks in a Nutshell
 
Инструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграцииИнструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграции
 
Эталонные тесты производительнсоти СУБД: обзор и тенденции
Эталонные тесты производительнсоти СУБД: обзор и тенденцииЭталонные тесты производительнсоти СУБД: обзор и тенденции
Эталонные тесты производительнсоти СУБД: обзор и тенденции
 
DBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
DBMS benchmarking overview and trends for Moscow ACM SIGMOD ChapterDBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
DBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
 
NoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsNoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospects
 

Rapid Deployment of Hadoop Development Environments

  • 1. СРЕДЫРАЗРАБОТКИ HADOOPБЫСТРОГО РАЗВЁРТЫВАНИЯ Hadoopв стиле DevOps Андрей Николаенко, архитектор, IBS
  • 2. DEVOPS Интегрированные в единый процесс разработка, тестирование и администрирование Планирование Разработка Сборка Тестирование Выпуск Развёртывание Мониторинг Интенсификация: десятки выпусков в день Тесное взаимодействие с «продуктивным ландшафтом» Автоматизация всех этапов жизненного цикла Универсализация специалистов и интеграция коллективов Особая культура создания программных продуктов
  • 3. ФЕНОМЕН ПРОФЕССИИ “DATA SCIENTIST” [Предметные] экспертные навыки (substantive expertise) Навыки программирования (hacking skills) Навыки применения математической статистики (math&statsskills) Наука о данных В одних руках: Постановка задач Подбор методов Проектирование алгоритмов Реализация алгоритмов Отладка и оптимизация Развёртывание кластеров? Диаграмма Конвея
  • 4. ЗАДАЧА БЫСТРОГО РАЗВЁРТЫВАНИЯ КЛАСТЕРА Высвободить ресурсы «Заморозить» данные Освободить узлы оборудования Запустить вычисления и отследить их Определить параметры заданий Журналироватьвыполнение Вести мониторинг Подключить наборы данных Идентифицировать наборы данных Сконфигурировать узлы имён Загрузить или подключить к узлам обработки Настроить сеть DHCP Маршрутизация Раздача имён Создать кластер Выделить узлы оборудования Установить операционные системы Установить «экосистемы» (Hadoop, Hive, Spark, Mahout, …)
  • 5. “ЭКОСИСТЕМА” ПРОЕКТОВ HDFS GlusterFS Ceph YARN MapReduce (пакетная обработка) Tez (интерактивная обработка) Amazon S3 CloudStore Swift Pig (сценарии) Hive (запросы) HBase (NoSQL) Impala (SQL) Drill (аналог Dremel) Mahout (машинное обучение) Zookeeper (координатор) Ambari (управление) Hue (ClouderaManager) Ganglia (монитор) Spark(оперативная обработка) Storm (поточная обработка) Kafka (брокер сообщений) Oozie (workflow) Sqoop (пакетная загрука) Flume (поточная загрузка) Hama (машинное обучение) Taychon(in-memory data grid) Azure Blob Storage файловые системы объектные хранилища обработчики СУБД-сервис глубинный анализ связующие управляющие Сторонние проекты ЯдроHadoop Проекты Фонда Apache
  • 6. КЛАССИЧЕСКИЙ HADOOP Установка на «голом железе»
  • 7. КЛАССИЧЕСКОЕ ПОЗИЦИОНИРОВАНИЕ HADOOP Горизонтально масштабируемый кластер Узлы оборудования массового класса Устройства хранения прямого подключения Linuxна «голом железе» Один компьютер – один узел кластера Встроенные диски: узел обработки = узел данных
  • 8. ТИРАЖИРУЕМЫЙ КЛАССИЧЕСКИЙ КЛАСТЕР На примере Oracle Big Data Appliance 18 узлов, в каждом: 2 восьмиядерныхXeon E5-2650 V2 64ГБ ОЗУ 12 SAS-дисков (4 ТБ, 7200об/мин) Сети: InfinibandQDR (40 Гбит/с), по 2 порта в каждом узле Ethernet 10 Гбит/с (по 4 порта в каждом узле)
  • 9. НЕУДОБСТВА ДЛЯ РАЗРАБОТКИ Ограниченный уровень узлового параллелизма Жёсткая привязка к распределению данных по узлам Ограничения по выбору различных инструментов и версий (зависимости…) Однако, с появлением YARN и мультиарендности– возможности запускать различные задания в разных «экосистемах», – преодолены многие другие недостатки классических конфигураций на «голом железе»
  • 10. HADOOPИЗ ОБЛАКА Hadoopв публичных облаках
  • 11. ОСНОВНЫЕ ПРОВАЙДЕРЫ •На базе MapR •Интегрирован с S3 AmazonElastic MapReduce •На базе Hortonworks •Интегрирован с SwiftFS Rackspace •На базе Hortonworks Microsoft Azure •BigInsights IBM Bluemix
  • 16. НЕУДОБСТВА РАЗРАБОТКИ В ОБЛАКЕ Дорогая и длительная доставка данных Работа через брандмауэры, зависимость от сетевой связности Неэффективность заморозки данных Ограниченность экосистем Высокая стоимость Невозможность обрабатывать конфиденциальные данные
  • 18. КЛЮЧЕВЫЕ ПРИНЦИПЫ Использование средств виртуализации Использование средств автоматизации развёртывания Отделение узлов хранения от узлов обработки III II I
  • 20. СОМНЕНИЯ В ПРИМЕНИМОСТИ ВИРТУАЛИЗАЦИИ Зачем делить узел на несколько машин, когда можно занять все ресурсы узла одной машиной? Накладные расходы? Повышение уровня параллелизма за логического разделения Не все решения по виртуализации грешат накладными расходами
  • 21. КОНТЕЙНЕРНАЯ ВИРТУАЛИЗАЦИЯ Parallels Virtuozzo(OpenVZ) Требуется специальное ядро Linux Идёт процесс интеграции в ядро Linux Зрелая техника контейнерной виртуализации Docker Используетсредства LXC– разделение пространств имён (namespaces) и вычислительных ресурсов (cgroups) Каскадно-объёмное монтирование(AuFS)
  • 22. DOCKERVSKVM ДЛЯ HADOOP ЦПУ 1 26 ОЗУ 1 3
  • 23. DOCKER-ОБРАЗЫ ⇛dockersearch hadoop NAME DESCRIPTION STARS AUTOMATED sequenceiq/hadoop-dockerAn easy way to try Hadoop45 [OK] sequenceiq/ambariProvision a Hadoopcluster with Apache Amb... 13 [OK] sequenceiq/hadoop-ubuntuAn easy way to try Hadoopon Ubuntu 5 [OK] pcting/hadoop-single-node Hadoop2.2.0, OpenSSHServer, Zookeeper on... 4 [OK] ruo91/hadoopApache hadoop2.x -Pseudo-Distributed Mode 2 [OK] ingensi/hadoop-cdh-base ClouderaHadoopimage base. Provides Oracl... 2 [OK] bouil/hadoop-single-node Hadoop2.2.0 single node installation 1 bioshrek/hadoop-hdfs-namenode1 [OK] meabed/hadoop-debianApache Hadoop2.5.1 -DebianWheezy ! 1 [OK] ingensi/hadoop-cdh-pseudo Easy to run ClouderaHadooppseudo distrib... 1 [OK] bioshrek/hadoop-hdfs-datanode1 [OK] richhaase/hdp2-hadoop 1 [OK] notyy/docker_hadoophadoopimage build on ubuntu,fullysupport... 1 [OK] labianchin/hadoop1 [OK] raulbejarano/hadoop-mongodbHadoopSingle Node with MongoDBserver. 1 beatworld/hadoopA 1.2.1 Hadoopon Ubuntu 12.04. Installat... 1 rogaha/apache-hadoop-hdfs-precise 1 pwiechow/hadoop1 [OK] ⇛dockerpull sequenciq/hadoop-ambari ⇛curl -Lo .amb j.mp/docker-ambari-170ea && . .amb ⇛amb-deploy-cluster 4 n-узловыйуправляемый кластерот SequencIQза 2–3 мин.
  • 24. DOCKERВНУТРИ YARN? Основной вопрос: не реализовать ли на уровне LXCипространств имён? Почему бы не контейнеризировать задания, задействовав Docker? https://issues.apache.org/jira/browse/YARN-1964 Существует проблема зависимостей для разного набора инструментов Flume + Pig + Hive OpenMPI YARN распределяет ресурсы для Hadoop-заданий поддерживает мультиарендность использует для ограничения ресурсов cgroups
  • 26. ДИСТРИБУТИВЫ И ПАКЕТЫ Apache BigTop–средство для сборки .rpm-и .deb-пакетов,собираются комплекты для: Автоматизация средствами дистрибутивов ClouderaManager Apache Ambari(Hortonworks) Red HatEnterprise Linux Fedora Debian Ubuntu
  • 27. ЗАДАЧИ АВТОМАТИЗАЦИИ В ПОТОКЕ AMBARI Изображения: ©2014, Hortonworks
  • 28. ЗАДАЧИ АВТОМАТИЗАЦИИ В ПОТОКЕ AMBARI Изображения: ©2014, Hortonworks
  • 29. ЗАДАЧИ АВТОМАТИЗАЦИИ В ПОТОКЕ AMBARI Изображения: ©2014, Hortonworks
  • 30. ЗАДАЧИ АВТОМАТИЗАЦИИ В ПОТОКЕ AMBARI Изображения: ©2014, Hortonworks
  • 31. ЗАДАЧИ АВТОМАТИЗАЦИИ В ПОТОКЕ AMBARI Изображения: ©2014, Hortonworks
  • 32. РАСПРЕДЕЛЕНИЕ ЗАДАЧ АВТОМАТИЗАЦИИ Высвободить ресурсы «Заморозить» данные Освободить узлы оборудования Запустить вычисления и отследить их Определить параметры заданий Журналироватьвыполнение Вести мониторинг Подключить наборы данных Идентифицировать наборы данных Сконфигурировать узлы имён Загрузить или подключить к узлам обработки Настроить сеть DHCP Маршрутизация Раздача имён Создать кластер Выделить узлы (вычислительные ресурсы) Установить операционные системы Установить «экосистемы» (Hadoop, Hive, Spark, Mahout, …) –задачи, решаемые в средствах управления экосистемы Hadoop(Ambari, Hue)
  • 33. PUPPET И CHEF Средства централизованного управления конфигурациями программного обеспечения Написаны на Ruby Выполнены в Ruby-стиле (командная строка, «соглашение превыше конфигурации») Используют декларативный предметно-ориентированный язык Puppet Богаче веб-интерфейс Больше выложенных «рецепетов» Язык конфигураций –JSON- подобный Chef Серверная часть на Erlang Язык конфигураций – подмножество Ruby
  • 34. VAGRANT Соглашения –превыше конфигураций! Обёртка над средствами виртуализации VirtualBox VMWare Workstation Docker Virtuozzo Обёртка над средствами конфигурационного управления Puppet Chef $ gitclone https://github.com/Cascading/vagrant-cascading-hadoop-cluster $ vagrant up $ vagrant sshmaster $ (master) sudoprepare-cluster.sh $ (master) sudostart-all.sh КластерHadoop2.0 +Hbase+ Cascading из 4 узлов Под управлением Puppet
  • 35. APACHE BIGTOP Apache BigTop–проект создания тиражируемых пакетов «экосистем» («упаковок») для программных средств вокруг Hadoop Позволяет собирать RPM-и deb-пакеты с учётом зависимостей Поддерживает автоматическое тестирование и непрерывную интеграцию (Jenkins)
  • 37. ОГРАНИЧЕНИЯ РАСПРЕДЕЛЁННОЙ ФАЙЛОВОЙ СИСТЕМЫ GeorgePorter. DecouplingstorageandcomputationinHadoopwithSuperDataNodes//SIGOPS Oper. Syst. Rev. , vol. 44(2), 2010, 41–46 Жёстко заданный размер блока Конфигурационнозаданный коэффициент репликации (обычно 3) Иерархическая структура Отделить узлы хранения от узлов обработки? Вывести проблему распределения данныхна сторону системы хранения?
  • 38. ОБЪЕКТНЫЙ ПОДХОД Сквозная уникальная идентификация Инкапсуляция Наследование Полиморфизм Прототипирование •GUID, который позволит идентифицировать любые объёмы мировых данных •данные вместе с метаданными и методами доступа •создание новых типов объектов на базе существующих •работа с объектами через разные интерфейсы из разных сервисов •наборы объектов- образцов, предварительно описанные
  • 39. БОЛЬШОЕ ОБЛАЧНОЕ ОБЪЕКТНОЕ ХРАНИЛИЩЕ GUID Метаинфо Содержимое…… Геозона1… Сервис геоперенаправления Сервис геодоставки Классификатор механизма хранения Object Storage API MR API CIFS NFS Torrent WebDAV NoSQLDB Hadoop File sharing Media Library ECM Archive Геозонаn REST
  • 40. ОБЪЕКТНЫЕ ХРАНИЛИЩА ВМЕСТОHDFS Поддержка в стандартном дистрибутиве Apache Hadoop Amazon S3 CloudStore OpenStack Swift Отдельные разработки Apache CloudStack Azure Blob Storage Hortonworks Ozone
  • 41. МИНУСЫ ОБЪЕКТНОГО ХРАНИЛИЩА ДЛЯ HADOOP •Но если приложение работало с Amazon S3 –то оно уже готово к объектному хранению Возможные привязки к файлам и иерархиям в унаследованных MapReduce-приложениях •Но как только запускается задание –сырые данные распределяются по узлам обработки, то есть обработка локальна Между узлами обработки и сырымиданными –сеть •Но есть богатая история Amazon Elastic MapReduce Новизна, отсутствие практики •Но выгодно в условиях постоянной пересборки и изменений наборов данных Невыгодно в условиях стабильного набора данных («тихого озера»)
  • 42. ОЗЁРА ДАННЫХ Предложены в 2011 году Джеймсом Диксоном (генеральным директором Pentaho) собранные в большую распределённую файловую систему данные в исходных форматах, пригодные для Hadoop-обработки «Если витрины данных –это бутылки с отфильтрованной водой, то озеро –их неисчерпаемый источник» Изображение: ©2014, Gartner
  • 44. ПУТИ К РАЗРАБОТЧЕСКОМУ «HADOOP-КАК-УСЛУГА» Мониторинг Управление Конфигурирование Автоматизация Виртуализация Хранение Lustre Apache Ambari OpenStackSwift Docker LXC Virtuozzo VirtualBox Vagrant Puppet Chef OpenStackSahara Nagios ClouderaManager GPFS
  • 45. DATASCIENCETOOLBOX. ORG ЕрунЯнсенс. Наука о данных в командной строке. N. Y.: O’Reilly, 2013 Первый доклад на Strata + HadoopWorld’ 2014
  • 46. ПУТЬ ОТ DATASCIENCETOOLBOX Мониторинг Управление Конфигурирование Автоматизация Виртуализация Хранение Lustre Apache Ambari OpenStackSwift Docker LXC Virtuozzo VirtualBox Vagrant Puppet Chef OpenStackSahara Nagios ClouderaManager GPFS
  • 47. ПУТЬ ОТ SEQUENCEIQ Мониторинг Управление Конфигурирование Автоматизация Виртуализация Хранение Lustre Apache Ambari OpenStackSwift Docker LXC Virtuozzo VirtualBox Vagrant Puppet Chef OpenStackSahara Nagios ClouderaManager GPFS
  • 48. ПРИМЕР ОТ CLOUDERA Мониторинг Управление Конфигурирование Автоматизация Виртуализация Хранение Lustre Apache Ambari OpenStackSwift Docker LXC Virtuozzo VirtualBox Vagrant Puppet Chef OpenStackSahara Nagios ClouderaManager GPFS
  • 49. ВАРИАНТ HORTONWORKS Мониторинг Управление Конфигурирование Автоматизация Виртуализация Хранение Lustre Apache Ambari OpenStackSwift Docker LXC Virtuozzo VirtualBox Vagrant Puppet Chef OpenStackSahara Nagios ClouderaManager GPFS
  • 50. СПАСИБО ЗА ВНИМАНИЕ! mailto:anikolaenko@ibs.ru