HDInsight — это корпоративный сервис с открытым кодом от Microsoft для облачной платформы Azure, позволяющий работать с кластером Apache Hadoop в облаке в рамках управления и аналитической работы с большими данными (Big Data).
Экосистема HDInsight
Azure HDInsight – это облачная экосистема компонентов Apache Hadoop на основе платформы данных Hortonworks Data Platform (HDP) [1], которая поддерживает несколько версий кластера Hadoop. Каждая из версий создает конкретную версию платформы HDP и набор компонентов, содержащихся в этой версии. C 4 апреля 2017 г. Azure HDInsight по умолчанию использует версию кластера 3.6 на основе HDP 2.6. Кроме основных 4-х компонентов Hadoop (HDFS, YARN, Hadoop Common и Hadoop MapReduce), в состав версии 3.6 также входят следующие решения Apache Software Foundation [2]:
- Pig — высокоуровневый язык обработки данных и фреймворк исполнения этих запросов;
- Hive — инфраструктура распределенного хранения информации, поддерживающая запросы к данным;
- Spark, Mahout – фреймворки для машинного обучения (Machine Learning);
- HCatalog — управление метаданными;
- Sqoop — перемещение больших объемов данных между Hadoop и хранилищами структурированных данных;
- Flume — распределенный сервис сбора, агрегации и перемещения потоков данных и логов в HDFS;
- Zookeeper – централизованная служба координации распределенных приложений;
- Oozie – планировщик потоков работ;
- Kafka — распределённый программный брокер сообщений;
- Ambari – средство мониторинга и автоматизированного управления кластером;
- Инструменты бизнес-аналитики (Business intelligence, BI) Hive — ODBC Driver и дополнение для работы с электронными таблицами Excel.
Как запускается и работает Hadoop-кластер на Microsoft Azure
На портале Microsoft Azure можно создавать кластеры Hadoop размером до 32 узлов, запускать распределенные задачи MapReduce, а также через доступ к интерактивной консоли писать запросы к данным на JavaScript и Hive. Стоимость пользования облачных сервисов Microsoft Azure рассчитывается поминутно на основании потребленных ресурсов для вычислений, хранения информации и обмена данными [3].
Архитектура облачного кластера состоит из следующих компонентов [4]:
- Secure Role (Gateway Node) – реверсивный прокси, шлюз кластера, который отвечает за аутентификацию и авторизацию и предоставляет конечные точки для других сервисов (WebHcat, Ambari, HiveServer и Oozie) на 433 порту.
- Head Node– виртуальная машина уровня Extra Large (8 ядер, 14 GB RAM), на которой развернуты ключевые элементы кластера Hadoop: сервер имен NameNode, вторичный сервер имен Secondary NameNode и трекер заданий JobTracker. Также Head Node содержит и выполняет операционные сервисы и сервисы данных (HiveServer, Pig, Sqoop, Metastore, Derbyserver, Oozie, Templeton, Ambari).
- Worker Nodes(Data Nodes) – это узлы данных на виртуальных машинах уровня Large (4 ядра, 7 GB RAM), которые отвечают за запуск сервисов, поддерживающих планирование задач, исполнение задач и доступ к данным (TaskTracker, DataNode, Pig, Hive Client).
- Windows Azure Storage-BLOB (WASB) – файловая система по умолчанию в кластере HDInsight. WASB предоставляет доступ к HDFS через REST API, командную строку или графический интерфейс клиентов (Microsoft Visual Studio Tools for HDInsight, Azure Storage Explorer и т.д.).
Преимущества HDInsight
Можно выделить 3 ключевых достоинства этого облачного решения:
- Интеграция с другими сервисами Microsoft [1]:
- с Active Directory с целью управления и гибкой настройки политики безопасности и контроля доступа;
- с облачными сервисами хранения Azure Blob Storage и Amazon S3 с целью получения данных из внешних источников;
- с System Center для управления кластером и всей корпоративной IT-средой;
- c журналами Azure Monitor для мониторинга всех кластеров в едином интерфейсе.
- Поддержка многих сред разработки (Visual Studio, VS Code, Eclipse, IntelliJ) и языков программирования (Scala, Python, R, Java, .NET, C#, Java, JavaScript) [1];
- Особенности хранения данных [4]:
- все данные, хранимые в WASB, в т.ч. из облачных приложений и сервисов, запущенных вне HDInsight, доступны для использования в кластере;
- все данные, хранимые в WASB, останутся нетронутыми после удаления кластера HDInsight и могут использоваться в новом кластере.
- Удобство пользования [5]:
- возможность прямого доступа к кластеру HDInsight через браузер;
- наличие REST API для постановки и снятий заданий (Job), а также запросов статуса их выполнения.
История появления и развития
HDInsight как облачный Hadoop-сервис впервые анонсирован Microsoft Azure в 2011 году, а публично стал доступен с февраля 2013 года. Изначально HDInsight был представлен следующими 2-мя вариантами [5]:
- облачный сервис на Windows Azure – Windows Azure HDInsight;
- локальный кластер на Windows Server 2008/2012 – Microsoft HDInsight to Windows Server (CTP).
HDInsight 3.3 был последней версией под управлением Windows, срок поддержки которой истек 27 июня 2016 г. С версии 3.4 корпорация Microsoft выпускает HDInsight только для операционной системы Linux. На июнь 2019 года доступна последняя версия HDInsight 4.0, однако по умолчанию при создании облачного кластера Hadoop используется версия 3.6 на основе дистрибутива Hortonworks HDP 2.6 [2].
Примеры использования HDInsight
Microsoft Azure вообще и HDInsight в частности, держатся в топе корпоративных PaaS- и IaaS-решений, уступая лидеру облачного рынка Amazon [6]. Эта облачная платформа для Big Data проектов широко применяется по всему миру, в том числе в нашей стране. Например, популярный онлайн-сервис для изучения английского языка LinguaLeo и мониторинг социальных медиа YouScan используют Microsoft Azure [7].
Отметим еще некоторые интересные кейсы использования HDInsight в Big Data проектах [4]:
- обработка генома человека (политехнический институт Вирджинии, США);
- научные исследования при разработке натуральных ингредиентов для продуктовых, фармакологических и сельскохозяйственных производств (компания Hansen, Дания);
- аналитические исследования данных, полученных от более 50 миллионов продаж онлайн-игр серии Halo (компания разработчик компьютерных игр 343 Industries, США);
- хранение и анализ данных по клиническим исследованиям из большого числа источников (медицинская компания Ascribe Ltd, Великобритания).
Источники
- https://docs.microsoft.com/ru-ru/azure/hdinsight/hadoop/apache-hadoop-introduction
- https://docs.microsoft.com/ru-ru/azure/hdinsight/hdinsight-component-versioning
- https://ru.wikipedia.org/wiki/Microsoft_Azure
- https://habr.com/ru/post/200750/
- https://www.codeinstinct.pro/2012/12/hdinsight.html
- http://la.by/blog/sravnenie-uslug-oblachnyh-provayderov-microsoft-azure-aws-ili-google-cloud
- https://msdn.microsoft.com/ru-ru/dn305109