- PVSM.RU - https://www.pvsm.ru -

Представляем проект Savanna — реализацию Hadoop как услуги для облака OpenStack

Автор: Александр Кузнецов

Проект Hadoop – это широко используемая платформа для распределенных вычислений на основе парадигмы MapReduce. В этой статье я рассмотрю сценарии перемещения двух основных компонентов Hadoop в облако OpenStack — инфраструктуры MapReduce и файловой системы HDFS (Hadoop Distributed File System — распределенная файловая система Hadoop). Прототипом названия проекта Savanna стали африканские равнины, по которым перемещаются слоны, изображенные на логотипе Hadoop. Более подробно о проекте рассказывает мой коллега Дмитрий Мещеряков в видео ниже.

Сценарии использования облака Hadoop

Экосистема Hadoop включает различные группы пользователей, каждая из которых имеет уникальный взгляд на систему и свои запросы. Мы можем разделить пользователей на три основные группы: системные администраторы, разработчики и инженеры контроля качества, а также аналитики и специалисты по обработке данных. Давайте рассмотрим, как мы можем помочь каждой из групп пользователей, и как их запросы решает облако OpenStack.

Сценарий использования облака Hadoop: системные администраторы


Системные администраторы решают проблему установки кластеров, их управления и мониторинга. Им нужны инструменты для отслеживания всей ИТ-инфраструктуры компании, интегрированные в центральную точку администрирования.

Другая проблема, которая возникает в рамках большой организации, это поддержка различных версий и сборок Hadoop. Одна команда может предпочесть сборку от компании Cloudera, в то время как другая может захотеть использовать новый функционал, который сейчас доступен только в самой последней версии непосредственно от Apache. Кроме того, для многих важно иметь готовое решение для интеграции с инструментами на уровне предприятия, например, Cloudera Management Console и Ambari для Apache/HortonWorks.
Такой подход хорошо работает с имеющейся в настоящий момент тенденцией переноса приложений в облако для достижения наилучшего использования ресурсов. Таким образом, предоставляя простой способ создания нескольких сред Hadoop, облако OpenStack становится идеальным инструментом для решения связанных с этим сценарием проблем, с которыми сталкивается группа системных администраторов.

Сценарий использования облака Hadoop: разработчики и инженеры контроля качества


Для команд разработчиков и контроля качества требуется быстрое создание различных типов сред, например, среда разработки, среда контроля качества или среда, эмулирующая производственную. Часто уникальная среда создается на недолгий срок для тестирования определенной задачи или проведения эксперимента. Эта проблема особо остро стоит в тех областях, с которыми работают разработчики Hadoop, потому что даже их простые тестовые среды требуют наличия нескольких машин. Облачное решение OpenStack предоставляет идеальное решение для быстрого создания новых временных сред.

В идеале облако OpenStack должно предоставлять интерфейс REST API для создания кластера Hadoop и его управления. Если процесс предоставления услуг протекает постоянно, и мы хотим запустить тест в распределенной среде, сервер постоянной интеграции должен иметь возможность создать тестовый кластер через API-интерфейс и запустить на нем тест. После завершения задания сервер завершает работу кластера.

Другая проблема, с которой часто сталкиваются команды разработчиков и группы контроля качества – это предоставление доступа к данным другой команде, которая использует другой кластер Hadoop. Если мы создаем новый кластер, мы должны иметь возможность наполнить его данными. Эффективное решение для того, чтобы избежать перевода данных в новый кластер – использование Swift для постоянного хранения данных. Таким образом, любой новый создаваемый кластер можно настроить для получения своих данных напрямую из основного кластера Swift. Команда Mirantis уже сделала значительный вклад по предоставлению информации о нахождении данных в Swift (см. Изменение I6b1ba25b [1]), а часть Hadoop (HADOOP-8545 [2]) практически закончена.

В следующей статье мы обсудим эту интеграцию Hadoop и Swift более подробно и рассмотрим сценарии работы с Swift как с постоянным источником данных для Hadoop.

Сценарий использования облака Hadoop: специалисты по обработке данных


Специалисты по обработке данных предпочитают работать с высокоуровневыми инструментами, например, Pig или Hive. Эти инструменты предоставляют более простой интерфейс обработки данных по сравнению с обычным способом – написанием задания MapReduce. Аналитикам не требуется понимать детали реализации и у них не так много информации о том, что происходит на глубинном уровне. В связи с недостатком понимания подробностей структуры, работа аналитика может иметь непредсказуемые результаты и повреждать существующий кластер, работающий в коммерческой среде. Нагрузка от работы аналитика в сочетании с существующей коммерческой нагрузкой может привести к нарушению стабильности кластера. Использование OpenStack позволяет создавать изолированную среду для нужд аналитика отдельно от коммерческих сред.

Специалисты по обработке данных обычно работают с незапланированными запросами, а это означает, что большие объемы данных передаются/загружаются в кластер Hadoop. Это создает ситуацию, при которой производственным задачам может не хватить ресурсов. Обычно аналитикам приходится ждать свободного окна, в котором можно запустить запросы, но облака OpenStack могут применять неиспользуемую мощность ресурсов центра обработки данных для того, чтобы выдержать эту меняющуюся нагрузку. Это позволяет специалистам по обработке данных запускать незапланированные запросы и избежать ожидания окна в работе кластера в коммерческой среде.

Постоянная производственная нагрузка представляет собой сценарий использования, для которого мы не рекомендуем использовать установку Hadoop поверх OpenStack, даже со всеми этими преимуществами. В этом случае даже преимущества управляемости несущественны и не оправдывают издержки на виртуализацию — по крайней мере, в настоящий момент.

Savanna: Hadoop как услуга на платформе OpenStack


Чтобы предоставить решение для описанных выше сценариев, компания Mirantis запустила проект Savanna, Hadoop как услугу для платформы OpenStack. На прошедшем в Портланде саммите разработчиков и пользователей OpenStack к инициативе Savanna подключились компании Hortonworks и Red Hat, что показывает большой интерес к проекту не только со стороны конечных пользователей, но и разработчиков.

В настоящий момент доступна версия 0.1.1 со следующим функционалом:
•Разворачивание кластера с использованием пред-установленных образов

•Шаблоны конфигурации кластера Hadoop

•REST API для запуска и управления кластером

•Пользовательский интерфейс, интегрированный в OpenStack Horizon

Более подробную информацию можно получить на вики-странице Savanna wiki.openstack.org/wiki/Savanna [3] и на веб-сайте savanna.readthedocs.org/en/latest/ [4].

Оригинал статьи на английском языке [5]

Автор: Mirantis_OpenStack

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/34226

Ссылки в тексте:

[1] Изменение I6b1ba25b: https://review.openstack.org/#/c/21015/

[2] HADOOP-8545: https://issues.apache.org/jira/browse/HADOOP-8545

[3] wiki.openstack.org/wiki/Savanna: https://wiki.openstack.org/wiki/Savanna

[4] savanna.readthedocs.org/en/latest/: http://savanna.readthedocs.org/en/latest/

[5] на английском языке: http://www.mirantis.com/blog/introducing-savanna-hadoop-as-a-service-for-private-cloud-with-openstack/

[6] Источник: http://habrahabr.ru/post/179571/