Upload
yandex
View
506
Download
7
Embed Size (px)
DESCRIPTION
- Sahara как инструмент запуска и управления программным обеспечением для хранения и обработки больших массивов данных (Hadoop) на облаках под управлением OpenStack; - Общий обзор проекта Sahara, его ключевые возможности и архитектурные аспекты; - Варианты использования Sahara.
Citation preview
© MIRANTIS 2013 PAGE © MIRANTIS 2013
Sahara - Hadoop on OpenStack
Александр Игнатов
© MIRANTIS 2013 PAGE
Содержание
•Обзор проекта
•Архитектура и ключевые возможности
•Варианты использования
© MIRANTIS 2013 PAGE
OpenStack Data Processing - “Sahara”
Предназначен для обеспечения масштабируемого стека обработки данных и связанных с ними интерфейсами управления.
• Ключевые возможности:• Запуск и управление Hadoop кластерами на
OpenStack• Интеграция с различными Hadoop
дистрибутивами и инструментами• Запуск и управление Hadoop задачами
© MIRANTIS 2013 PAGE
Текущее состояние проекта
•Incubated в релизе Icehouse (17 Апр)•Integrated в релизе Juno и последующих релизах
•Входит в состав Mirantis OpenStack•Покрытие OpenStack Tempest тестами•Тестирование на инфраструктуре сторонних компаний
© MIRANTIS 2013 PAGE
Текущее состояние проекта (прод.)
•Основные компании-участники•Mirantis•Red Hat•Hortonworks
•Поддерживаемые Hadoop дистрибутивы•Vanilla Apache Hadoop - v1 & v2•Hortonworks Data Platform - v1 & v2•Cloudera и Spark в разработке
© MIRANTIS 2013 PAGE
Архитектура
PythonSahara Client
RE
ST
AP
I
Horizon
Keystone
Auth
DAL
Nova|Heat|Cinder
Glance
Swift
Sahara Pages
HadoopVM
Vendor Plugins(Vanilla, HDP, ...)
HadoopVM
HadoopVM
HadoopVM
ProvisioningEngine
ImageRegistry
Sahara EDP
© MIRANTIS 2013 PAGE
Основные возможности - Кластеринг
• Запуск и управление кластерами:• Шаблоны для конфигурации
кластера• REST API для запуска и управления• Масштабировние кластера• Обеспечение надежности HDFS• Управление расположением HDFS• Интеграция с Swift
• Управление кластером через Horizon UI
• Механизм плагинов для работы с разными дистрибутивами Hadoop
© MIRANTIS 2013 PAGE
Топологии кластера
© MIRANTIS 2013 PAGE
Шаблон NodeGroup
Определяет:
• Hadoop процессы
• Конфигурации процессов
• Тип расположения HDFS
• OpenStack ресурсы
© MIRANTIS 2013 PAGE
Шаблон кластера
Определяет:
• Конфигурацию кластера
• Топологию кластера
• Кол-во виртуальных
машин в каждой группе
© MIRANTIS 2013 PAGE
Надежность HDFS в облаке
Гипервизор 1
DN DN
DN
DN DN
DN
Блок данных
Гипервизор 2
© MIRANTIS 2013 PAGE
Надежность HDFS: anti-affinity
DN
Гипервизор 1
TT | DN DN
Гипервизор 3
DN
Cluster ACluster B
DN
DN
Гипервизор 2
© MIRANTIS 2013 PAGE
Надежность HDFS: hypervisor-awareness
DNDN DNDN DNDN
Блок данныхHDFS
Гипервизор 1 Гипервизор 2 Гипервизор 3
© MIRANTIS 2013 PAGE
Надежность HDFS: Swift интеграция
Swift
HadoopJob #1
HDFSHadoopJob #2
...HadoopJob #N
входные даннные
выходные данные
© MIRANTIS 2013 PAGE
User
Плагины1.1 дай параметры
3.1 добавь/удали ноды
2 запустить кластер
2.2 запусти кластер
1 запрос параметровплагина
Sahara
Плагин
2.1 проверь параметры кластера
3 добавить/удалить ноды
2.3 конфигурация
2.4 запуск сервисов2.5 запуск сервисов
3.2 конфигурация
3.3 запуск сервисов
© MIRANTIS 2013 PAGE
Основные возможности - EDP
• Elastic Data Processing - API для выполнения MapReduce задач (аналог AWS EMR)• Источники данных: Swift, HDFS,
Ceph*• Типы задач: Jar, Pig, Hive
• Oozie для управления MapReduce
задачами
• Поддержка Hadoop 1 & 2 в EDP
• Выполнение задач на временных
кластерах
© MIRANTIS 2013 PAGE
?
EDP. Шаг 1 - DataSources
swift://some_container/INPUTswift://some_container/OUTPUT
Swift
Sahara EDP
INPUT OUTPUT
© MIRANTIS 2013 PAGE
EDP. Шаг 2 - Job Binaries
Swift
Sahara DB
1. Pig, Hive скрипты2. Исполняемые Jar файлы3. Подключаемые библиотеки
Sahara EDP
swift://some_container/script.pig
sahara-db://mapreduce.jar
© MIRANTIS 2013 PAGE
EDP. Шаг 3 - Job Execution
Sahara
Swift
INPUTOUTPUT
DB: Jar, Pig
EDP
Jar, Pig
JobTrackerVM
Oozie VM
HadoopVM
HadoopVM
HadoopVM
workflow.xm
l
1. Параметры MR задач
2. URL в HDFS до исполняемых файлов и библиотек
3. URL для INPUT и OUTPUT
4. Учетные данные
Data Processing
© MIRANTIS 2013 PAGE
Основные возможности - интеграция с OpenStack
• Интеграция с Neutron и Nova-Network
• Keystone trusts для асинхронных
операций
• Python клиент и CLI
• Интеграция с другими компонентами:• Heat• DevStack• Tempest
© MIRANTIS 2013 PAGE
Варианты использования
Dev и QA
• Быстрое разворачивание кластера по требованию
• Увеличение гибкости и скорости инноваций
• Управляемый доступ к данным в “продакшене”
© MIRANTIS 2013 PAGE
Варианты использования (продложение)
Analytics Use Cases
• Упрощенное выполнение задач - сложность поднятия и управления кластером скрыта “под капотом”
• Выпоняемые Hadoop задачи требуют значительных ресурсов только для короткого периода времени
• Использование свободных мощностей IaaS для Hadoop задач
© MIRANTIS 2013 PAGE
Варианты использования (продолжение)
Administrators Use Cases
• Единая точка контроля за инфраструктурой
• Возможность выбора диструбитвов от разных вендоров для одних и тех же задач
• Интеграция со сторонними инструметами:o Ambari от Apache/HortonWorkso Cloudera Management Console
© MIRANTIS 2013 PAGE
Планы на Juno релиз
• Различные улучшения EDP• новые типы задач• новые источники данных
• Новые плагины (Cloudera, Spark)
• Поддержка Ceph
• Установка на голое железо
© MIRANTIS 2013 PAGE
Q&A