Mos day2015 -mirantis-- проект sahara - big-data на openstack-final

Preview:

Citation preview

Copyright © 2015 Mirantis, Inc. All rights reserved

software.mirantis.com

Проект SaharaBig Data на OpenStack

Сергей Лукьянов

Copyright © 2015 Mirantis, Inc. All rights reserved

Содержание

● Обзор проекта● Ключевые возможности● Варианты использования

Copyright © 2015 Mirantis, Inc. All rights reserved

OpenStack Data Processing, codename “Sahara”

Ключевые возможности:● Запуск и управление кластерами обработки данных на

облаке OpenStack● Интеграция с различными дистрибутивами и

инструментами для обработки данных● Запуск и управление задачам по обработке данных

Обработка данных - Hadoop, Spark, Storm

“Предназначен для обеспечения масштабируемого стека обработки данных и связанных с ними интерфейсов управления.”

Copyright © 2015 Mirantis, Inc. All rights reserved

Текущий статус проекта

● Официальный интегрированный OpenStack проект● Mirantis - инициатор и основной участник (~50%)● Входит в состав Mirantis OpenStack● Вся функциональность доступна через REST API, CLI,

Python SDK и OpenStack Dashboard

Copyright © 2015 Mirantis, Inc. All rights reserved

Компании-участники

Copyright © 2015 Mirantis, Inc. All rights reserved

Поддерживаемые дистрибутивы и инструменты

● Vanilla Apache Hadoop 1.2.1, 2.4.1 и 2.6.0● включая Oozie, Pig, Hive

● Hortonworks Data Platform 1.3.2 и 2.0.6● включая Ambari, Oozie, Pig, Hive, Sqoop, Hue, HBase, etc.

● Cloudera CDH 5.0 и 5.3.0● включая CM, Oozie, Pig, Hive, Hue, Spark, Flume, Scoop, etc.

● [beta] Apache Spark 0.9.1 и 1.0.0● [alpha] MapR 3.1.1, 4.0.1, 4.0.2

● включая Oozie, Pig, Hive, Hie, Impale, Flume, Sqoop, etc.● [alpha] Apache Storm 0.9.2

Copyright © 2015 Mirantis, Inc. All rights reserved

Основные возможности - кластеринг

● Запуск и управление кластерами:● Шаблоны для конфигурации кластера● REST API для запуска и управления● Масштабировние кластера● Обеспечение надежности HDFS● Управление расположением HDFS● Интеграция с OpenStack Swift

● Управление кластером через OpenStack Horizon● Механизм плагинов для работы с разными

дистрибутивами и инструментами обработки данных

Copyright © 2015 Mirantis, Inc. All rights reserved

Шаблоны группы узлов (Node Group Tmpl)

● Параметры узла vCPU, RAM● Тип расположения HDFS● “Роль” - список процессов● Настройки процессов● Настройки сети, безопасности

Copyright © 2015 Mirantis, Inc. All rights reserved

Шаблоны конфигурации кластера (Cluster Tmpl)

● Настройки anti-affinity● Список и число узлов● Конфигурации сервисов

Copyright © 2015 Mirantis, Inc. All rights reserved

Пошаговое создание кластера

Copyright © 2015 Mirantis, Inc. All rights reserved

Основные возможности - EDP

● Elastic Data Processing - REST API для выполнения задач обработки данных, например, MapReduce (~ AWS EMR)

● Источники данных: Swift, HDFS, Ceph*● Типы задач: Jar, Pig, Hive, Spark● Oozie для управления Hadoop / MapReduce задачами● Поддержка Hadoop 1 & 2 и Spark в EDP● Выполнение задач на временных кластерах

Copyright © 2015 Mirantis, Inc. All rights reserved

Источники данных (Data Source)

Copyright © 2015 Mirantis, Inc. All rights reserved

Файлы задач и библиотек (Job Binary)

Copyright © 2015 Mirantis, Inc. All rights reserved

Шаблоны задач (Job Template)

Copyright © 2015 Mirantis, Inc. All rights reserved

EDP (Elastic Data Processing)

JobTrackerVM

Oozie VM

HadoopVM

HadoopVM

HadoopVM

Sahara

SwiftINPUT

DB: Jar, Pig

EDP

Jar, Pig

Data Processing

OUTPUT

workflow.xm

l

● MapReduce задача - Pig скрипт и библиотека

● OpenStack Swift в качестве хранилища

Copyright © 2015 Mirantis, Inc. All rights reserved

Варианты использование #1

Dev → QA → Staging → Production жизненный цикл

● Возможность разворачивать кластера с одной конфигурацией на виртуальных машинах, железе и гибридных инсталляциях

● Быстрое разворачивание кластера по требованию● Увеличение гибкости и скорости инноваций● Управляемый доступ к данным в “продакшене”

Copyright © 2015 Mirantis, Inc. All rights reserved

Варианты использование #2

Analytics Use Cases

● Упрощенное выполнение задач - сложность поднятия и управления кластером скрыта от конечного пользователя

● Выпоняемые Hadoop задачи требуют значительных ресурсов только для короткого периода времени

● Использование свободных мощностей IaaS для Hadoop задач

Copyright © 2015 Mirantis, Inc. All rights reserved

Варианты использование #3

Administrators Use Cases

● Единая точка контроля за инфраструктурой● Возможность выбора диструбитвов от разных вендоров

для одних и тех же задач● Интеграция со сторонними инструметами:

● Apache (Hortonworks) Ambari● Cloudera Management Console

Copyright © 2015 Mirantis, Inc. All rights reserved

Спасибо!Вопросы и ответы

slukjanov@mirantis.com

Slides: http://goo.gl/KGpAZM or

Copyright © 2015 Mirantis, Inc. All rights reserved

Надежность HDFS в облаке

Compute Node

DN DN DN DN

DN

Блок данных

Compute NodeDN

Copyright © 2015 Mirantis, Inc. All rights reserved

Надежность HDFS в облаке: anti-affinity

DN

Compute Node

TT | DN DN

Compute Node

DN

Cluster 1 Cluster 2

DNDN

Compute Node

TT

Copyright © 2015 Mirantis, Inc. All rights reserved

Надежность HDFS в облаке: topology awareness

DNDN DNDN DN

Блок данныхHDFS

Compute Node Compute Node Compute Node

Copyright © 2015 Mirantis, Inc. All rights reserved

Надежность HDFS в облаке: Swift интеграция

● Временные / воспроизводимые данные в HDFS● Исходные / выходные данные в OpenStack Swift

Copyright © 2015 Mirantis, Inc. All rights reserved

Планы на MOS 7.0 (Kilo) релиз

● Поддержка установки на голое железо (baremetal)● Поддержка дополнительных сервисов

Copyright © 2015 Mirantis, Inc. All rights reserved

Архитектура

Data Sources

Sahara Python Client RE

ST A

PI

Cluster Configuration

Manager

Horizon

Keystone

Auth

Data Access Layer

Swift

Sahara Dashboard

HadoopVM

Vendors Plugins

HadoopVM

HadoopVM

HadoopVM

Resources Orchestration

Manager

Job Sources Job

Manager

Heat

Nova

Glance

Cinder

Neutron

Trove DB