02 ноября 2013

Hadoop + Windows Azure: «дружба» в Enterprise

Hadoop + Windows Azure: «дружба» в Enterprise

За последние пол месяца произошло три ИТ-события, лежащие в плоскости Big Data, Cloud Computing и на их симбиозе. По странному стечению обстоятельств эти события остались без должного внимания как со стороны хабросообщества, так и со стороны немногочисленных профессиональных сетевых сообществ в LinkedIn и Facebook.

События, о которых идет речь — конференция «Strata + Hadoop World», релиз стабильной версии Hadoop 2.2.0 и облачного сервиса Windows Azure HDInsight. О косвенной и прямой взаимосвязи этих событий речь и пойдет ниже.

Windows Azure HDInsight 2.1 Ecosystem

Первое событие - конференция Strata + Hadoop World, прошедшая с 28.10 по 30.10. Докладчики говорят о Data Science и платформе Hadoop, используют Python и R. Среди длинного списка спонсоров мероприятия замечены Cloudera, Hortonworks, MapR, SAP, IBM, Intel, VMware, Microsoft.

Виденье последней (Microsoft) было представлено 3-мя докладами ( 1, 2, 3). В это же время был анонсирован переход сервиса, представляющего «Hadoop as a Service» в Windows Azure – Windows Azure HDInsight - в стабильную версию (Generally Available, GA).

В HDInsight GA ожидаемо нет каких-то новых feature по сравнению с CTP-версией. Важнее другое: Microsoft последовательна, и все, что было доступно для разработчиков в CTP-версии, осталось в окончательном релизе. Среди «особенностей» использования HDInsight является то, что это облачный сервис (платите за использования), интеграция с инструментами Microsoft BI и возможность писать Job’ы на javascript и C# (.NET).

Одним из наиболее важных стратегических преимуществ сервиса, по моему мнению, является то, что HDInsight GA, как и в более ранних версиях, предоставляет собой на 100% Hadoop-совместимое решение.

Это важно, потому что становится ясно, что Microsoft будет предоставлять сервис по подписке, с которого можно «уйти» без необходимости кардинально переписывать код. Это стратегически важная возможность для стартапов и небольших исследовательских групп.

Таким образом, тот Hive/Pig/Java-код, которые был написан для Job’ов в on-demand (Windows Azure), может без изменений быть запущен на on-premise Hadoop-кластере.

Что касается самой платформы Hadoop – в 15 октября было объявлено о релизе стабильной версии Apache Hadoop 2.x. Нововведениях Apache Hadoop 2.2.0 я уже писал ранее; повторюсь лишь, что наиболее ожидаемая feature релиза - это фреймворк YARN.

Также среди анонсированных изменений Hadoop 2.2.0 была поддержка запуска Hadoop на ОС Windows. Со свечкой над инженерами Hortonworks я не стоял, но у меня ощущение, что интеграция с Windows Server – это именно плод усилий инженеров Hortonworks, с которыми Microsoft плотно сотрудничает.

Но у Hortonworks до сих пор в HDP for Windows включен Apache Hadoop 1.2, который (пусть меня поправит Hadoop-сообщество, если я не прав) не поддерживает вычислительного фреймворка YARN.

Принимая во внимание обсуждаемый выше релиз стабильной Hadoop 2, отсутствие поддержки фреймворка YARN – большое ограничение Windows Azure HDInsight. Еще одним ограничением сервиса HDInsight является максимально доступный размер кластера – 32 узла.

Create HDInsight cluster

Хотя, справедливости ради, стоит отметить, что стабильная версия Hadoop вышла 2 недели назад, Hortonworks уже работают над поддержкой последнего дистрибутива Hadoop в HDP for Windows (HDP 2 for Windows), а ограничение с числом узлов, вполне вероятно, решается запросом в службу поддержки Windows Azure.

Ограничения же Hadoop 2.x пока сообществом еще не поняты. Отмечу, что большинство новых возможностей версии 2 являются лишь обходом ограничений версии 1. Отдельно выделю вычислительный фреймворк YARN, который не только позволил избавиться от сильной связанности с программной моделью map/reduce в частности, но и является качественным скачком в развитии платформы Hadoop в целом.

YARN

Смотря на работу Google и Yandex в области в Big Data, добавлю к потенциальным ограничениям платформы - отсутствие поддержки геораспределенности (как репликации, так и выполнения). К недостаткам работы с сообществом (в первую очередь академическим) – отсутствие pdf-paper, похожих на те, которые «выпускает» исследовательские подразделения Google и Microsoft, исследователи Berkeley UC, описывающие принципы и архитектурные подходы, применяемые при проектировании то или иной вычислительной системы (один известный пример: MapReduce: Simplied Data Processing on Large Clusters).

Как попробовать?

Hadoop 2.0

Cloudera: дистрибутив Apache Hadoop 2.x (+ дополнительные компоненты экосистемы Hadoop) - CDH 5 Beta.
Hortonworks: дистрибутив Apache Hadoop 2.x (+ дополнительные компоненты экосистемы Hadoop) - Hortonworks Data Platform 2.0.

Window Azure HDInsight

Облачный PaaS-сервис: Hadoop as a Service в Windows Azure  - Windows Azure HDInsight.
Локально: эмулятор Windows Azure HDInsight - HDInsight Emulator for Windows Azure (установить через Web Platform Installer).

Автор статьи

,
Machine Learning Preacher, Microsoft AI MVP && Coffee Addicted