Большим шагом в решении задач обработки больших данных стало появление экосистемы Hadoop. Открытая реализация фреймворка MapReduce от Google дала толчок развитию платформы, включающей несколько десятков проектов, которые работают самостоятельно или в комплексе с другими для создания систем, решающих конкретные задачи. На текущий момент в состав Hadoop входят инструменты, покрывающие все аспекты работы с большими данными (рис. 1): файловые системы (HDFS, MapR-FS), фреймворки для выполнения распределенных вычислений (MapReduce, Spark), NoSQL-базы и SQL-движки (HBase, Hive, Spark SQL), инструменты для захвата данных из внешних источников и интеграции с реляционными СУБД (Flume, Kafka, Sqoop), инструменты для построения потоков обработки и загрузки данных, в том числе непрерывно поступающих (Spark Streaming, Storm, Flink, NiFi), и др.
Рис. 1. Современная экосистема Hadoop |
Инструментов много, и неизбежно возникает вопрос об их безболезненной интеграции и развертывании на кластерах из сотен узлов. Ответом стали дистрибутивы — программные комплексы для развертывания кластера, его мониторинга и управления, предлагаемые разными поставщиками: Hortonworks Data Platform (HDP), Cloudera Distribution including Apache Hadoop (CDH), MapR Converged Data Platform, а также российский дистрибутив Arenadata Hadoop (ADH).
Готовые дистрибутивы значительно упростили жизнь многим организациям, однако возникла новая проблема: приложение, стабильно работающее на одном дистрибутиве, иногда работало некорректно или вовсе не работало на другом. Такое могло происходить по разным причинам: несовместимость версий компонентов, использование различных инструментов, выполняющих аналогичные функции, и т. п. Для решения этой проблемы и стандартизации различных дистрибутивов под эгидой Linux Foundation была создана некоммерческая организация Open Data Platform Initiative (ODPi), в которую вошло несколько десятков компаний, в основном разработчики дистрибутивов: Dell, IBM, Infosys, SAS, Pivotal, Toshiba и др. Совместно они разработали спецификацию и набор рекомендаций по обеспечению единой базовой функциональности, стабильной работы и предсказуемости результатов работы приложений на различных дистрибутивах. Сертификация ODPi гарантирует зрелость дистрибутива, наличие в нем базовой функциональности и совместимость с аналогичными решениями; в частности, спецификация устанавливает правила наименования переменных окружения и параметры компрессии.
Первым российским дистрибутивом Hadoop, прошедшим сертификацию ODPi наряду с такими известными коммерческими дистрибутивами, как Hortonworks HDP и IBM BigInsight, стал Arenadata Hadoop. В его состав входят актуальные стабильные версии всех наиболее популярных инструментов, такие как Apache Hive, Apache Spark и Apache Atlas (рис. 2). Некоторые из них были доработаны для улучшения совместимости, например Apache Oozie и Apache Tez. На сегодняшний день Arenadata Hadoop включает самый полный функционал из каждого имеющегося инструмента и обеспечивает корректную интеграцию инструментов между собой.
Рис. 2. Компоненты дистрибутива Arenadata Hadoop (ADH) 1.4 |
В состав Arenadata Hadoop включены дополнительные инструменты реализации корпоративных моделей безопасности: Apache Knox, Apache Ranger, Apache Atlas, Apache Flume и Apache Sqoop. Инструмент Apache Knox отвечает за безопасность периметра, что позволяет предприятиям расширять доступ к Hadoop новых пользователей, а также поддерживать соответствие политик безопасности предприятия. Knox также упрощает обеспечение безопасности Hadoop для пользователей, имеющих доступ к данным кластера и выполняющих на нем свои задания. Инструмент интегрируется с распространенными системами управления идентификацией, технологией единого входа (Single Sign-On, SSO) и позволяет использовать идентификационные данные из корпоративных систем для безопасного доступа к кластерам Hadoop. Инструмент Apache Ranger обеспечивает комплексный подход к безопасности для кластера Hadoop путем создания централизованной платформы для последовательного определения, администрирования и управления правами доступа через компоненты Hadoop Ranger. Кроме того, данный инструмент предоставляет администраторам средства мониторинга экосистемы Hadoop, позволяющее в режиме реального времени отслеживать все запросы доступа, и поддерживает несколько источников назначения, включая HDFS и Solr.
В дистрибутив также включен сервис управления данными и метаданными кластера Apache Atlas, предназначенный для обмена метаданными с другими инструментами и процессами внутри и снаружи стека Hadoop, что дает возможность управления платформой. Apache Atlas обеспечивает масштабируемое управление для кластера Enterprise Hadoop, управляющего метаданными, что позволяет моделировать новые бизнес-процессы и активы данных. Имеется также возможность обмениваться метаданными с другими инструментами и процессами внутри и вне стека Hadoop для управления доступом к платформе в соответствии с нормативными требованиями. Apache Flume служит для организации распределенного надежного и эффективного сбора, агрегации и перемещения больших объемов потоковых данных в распределенную файловую систему HDFS. И наконец, Apache Sqoop осуществляет эффективную передачу массивов данных между Apache Hadoop и структурированными хранилищами данных, такими как реляционные базы данных, и помогает разгрузить бизнес-приложения от операций загрузки данных (ETL) и работы с хранилищами данных (EDW). Sqoop также можно использовать для извлечения данных из Hadoop и экспорта их во внешние структурированные хранилища данных: Teradata, Netezza, Oracle, MySQL, Postgres и HSQLDB.
Дистрибутив Arenadata Hadoop предоставляет набор инструментов для автоматического развертывания как на «голом железе», так и на виртуальных машинах (в облаке), а средства мониторинга и управления конфигурацией позволяют оптимизировать производительность для всех компонентов системы. Интегрированный в дистрибутив инструмент Apache Ambari обеспечивает интерфейсы для интеграции с уже существующими на предприятиях системами управления — например, Microsoft System Center и Teradata ViewPoint.
В перспективе в Arenadata Hadoop будут включены средства обработки больших данных с поддержкой полноценного ANSI SQL. Комбинирование и интеграция различных технических решений позволяют построить систему, ориентированную на решение широкого круга задач, в том числе построение универсального хаба данных, предназначенного для сбора и обработки данных из различных внутренних и внешних систем компании. В частности, дистрибутив Arenadata Hadoop будет поддерживать интеграцию с различными решениями класса MPP и In-Memory, такими как Greenplum DB, SAP HANA и HP Vertica.
Поддержка и экспертиза Arenadata Hadoop доступны в России на русском языке; сборка выполнена только на базе открытых проектов Apache, и в дистрибутиве нет проприетарных компонентов; дистрибутив доступен и как Hadoop Appliance CКАЛА-СР / Big Data с поддержкой от компании IBS.
***
Сегодня на российском рынке растет потребность в современных инструментальных платформах обработки больших данных, однако ощущается острая нехватка локальной экспертизы. Коммерческая версия Arenadata Hadoop была представлена на российском рынке летом 2017 года и уже применяется в ряде крупных проектов, в частности для построения комплексной аналитической системы одной из федеральных структур.
Виктор Бородаенко (bvv@arenadata.io) — старший консультант, разработчик, Александр Ермаков (ean@arenadata.io) — ведущий архитектор, компания IBS (Москва).