Миграция локальных кластеров Apache Hadoop в Azure HDInsight — мотивация и преимущества
Это первая статья в цикле, посвященном рекомендациям по перемещению локальных развертываний экосистемы Apache Hadoop в Azure HDInsight. Этот цикл статей предназначен для людей, которые отвечают за проектирование, развертывание и миграцию решений Apache Hadoop в Azure HDInsight. Она особенно полезна для архитекторов облака, администраторов Hadoop и инженеров DevOps. Разработчикам программного обеспечения, инженерам и специалистам по обработке и анализу данных также пригодятся знания того, как различные типы кластеров работают в облаке.
Миграция в Azure HDInsight
Azure HDInsight является облачным дистрибутивом компонентов Hadoop. Azure HDInsight обеспечивает простую, быструю и экономичную обработку больших объемов данных. HDInsight включает в себя наиболее популярные платформы с открытым исходным кодом, такие как:
- Apache Hadoop
- Apache Spark
- Apache Hive с LLAP
- Apache Kafka
- Apache HBase
Преимущества Azure HDInsight по сравнению с локальной средой Hadoop
Низкая стоимость. Затраты можно уменьшить за счет создания кластеров по требованию и платы только за используемые ресурсы. Несвязанные ресурсы вычисления и хранения обеспечивают гибкость благодаря сохранению объема данных независимо от размера кластера.
Автоматическое создание кластера. Автоматическое создание кластера требует минимальной настройки. Автоматизация может использоваться для кластеров по требованию.
Управляемое оборудование и конфигурация. Используя кластер HDInsight, вы больше не будете беспокоиться о физическом оборудовании или инфраструктуре. Просто укажите конфигурацию кластера, и Azure настроит его.
Простое масштабирование. HDInsight позволяет уменьшать и увеличивать масштаб рабочих нагрузок. Azure выполняет перераспределение данных и перебалансировку рабочей нагрузки без прерывания заданий обработки данных.
Глобальная доступность. Служба HDInsight доступна в большем числе регионов, чем любое другое предложение аналитики больших данных. Служба Azure HDInsight также доступна в Azure для государственных организаций, Китая и Германии, что позволяет обеспечить соответствие требованиям организации в основных независимых регионах.
Безопасный и совместимый — HDInsight позволяет защитить корпоративные ресурсы данных с помощью Azure виртуальная сеть, шифрования и интеграции с идентификатором Microsoft Entra. HDInsight также соответствует наиболее распространенным отраслевым и государственным стандартам.
Упрощенное управление версиями. Azure HDInsight управляет версией компонентов экосистемы Hadoop и поддерживает их актуальность. Обновления программного обеспечения обычно представляют собой сложный процесс для локальных развертываний.
Меньшие кластеры оптимизированы для конкретных рабочих нагрузок и имеют меньшее число зависимостей между компонентами. В обычной локальной конфигурации Hadoop используется один кластер, который применяется в различных целях. С помощью Azure HDInsight можно создавать кластеры, зависящие от рабочей нагрузки. Создание кластеров для конкретных рабочих нагрузок устраняет возрастающую сложность обслуживания одного кластера.
Производительность. Вы можете использовать различные инструменты для Hadoop и Spark в предпочитаемой среде разработки.
Расширяемость с помощью пользовательских средств или сторонних приложений. Кластеры HDInsight могут быть расширены за счет установки компонентов, а также интегрированы с другими решениями для работы с большими данными путем использования простых развертываний из Azure Marketplace.
Простое управление, администрирование и мониторинг. Azure HDInsight интегрируется с журналами Azure Monitor и предоставляет единый интерфейс для мониторинга всех кластеров.
Интеграция с другими службами Azure. HDInsight можно легко интегрировать с другими популярными службами Azure, такими как:
- Фабрика данных Azure (ADF)
- Хранилище BLOB-объектов Azure
- Azure Data Lake Storage 2-го поколения
- Azure Cosmos DB
- База данных SQL Azure
- Azure Analysis Services
Процессы и компоненты самовосстановления. HDInsight постоянно проверяет инфраструктуру и компоненты с открытым исходным кодом, используя собственную инфраструктуру мониторинга. HDInsight также автоматически восстанавливает критические сбои, такие как недоступность узлов и компонентов с открытым исходным кодом. В случае сбоя любого компонента OSS в Ambari активируются оповещения.
Дополнительные сведения см. в статье Что такое Azure HDInsight и стек технологий Apache Hadoop.
Процесс планирования миграции
Для планирования переноса локальных кластеров Hadoop в Azure HDInsight нужно:
- Разобраться с текущим локальным развертыванием и его топологиями.
- Разобраться с масштабом, сроками текущего проекта и знаниями команды.
- Разобраться с требованиями Azure.
- Составить подробный план, следуя рекомендациям.
Сбор сведений для подготовки к миграции
Этот раздел содержит шаблонные вопросники, помогающие собрать такую важную информацию:
- информацию о локальном развертывании;
- Сведения о проекте
- Требования Azure
Вопросник по локальному развертыванию
Вопрос | Пример | Ответ |
---|---|---|
Раздел: среда | ||
Версия распространения кластера | HDP 2.6.5, CDH 5.7 | |
Компоненты экосистемы больших данных | HDFS, Yarn, Hive, LLAP, Impala, Kudu, HBase, Spark, MapReduce, Kafka, Zookeeper, Solr, Sqoop, Oozie, Ranger, Atlas, Falcon, Zeppelin, R | |
Типы кластера | Hadoop, Spark, Confluent Kafka, Solr | |
Число кластеров | 4 | |
Количество главных узлов | 2 | |
Количество рабочих узлов | 100 | |
Количество граничных узлов | 5 | |
Общее используемое дисковое пространство | 100 ТБ | |
Конфигурация главного узла | M/Y, ЦП, диск и т. д. | |
Конфигурации узлов данных | M/Y, ЦП, диск и т. д. | |
Конфигурации граничных узлов | M/Y, ЦП, диск и т. д. | |
Используется ли шифрование HDFS? | Да | |
Высокий уровень доступности | HDFS HA, Metastore HA | |
Аварийное восстановление и резервное копирование | Нужно ли резервное копирование кластера? | |
Системы, зависящие от кластера | SQL Server, Teradata, Power BI, MongoDB | |
Интеграция сторонних продуктов | Tableau, GridGain, Qubole, Informatica, Splunk | |
Раздел: безопасность | ||
Безопасность периметра | Брандмауэры | |
Аутентификация и авторизация в кластере | Active Directory, Ambari, Cloudera Manager, без аутентификации | |
Управление доступом к HDFS | Ручной режим, пользователи SSH | |
Аутентификация и авторизация в Hive | Sentry, LDAP, AD с Kerberos, Ranger | |
Аудит | Ambari, Cloudera Navigator, Ranger | |
Наблюдение | Graphite, collectd, statsd , Telegraf, InfluxDB |
|
Оповещение | Kapacitor , Prometheus, Datadog |
|
Срок хранения данных | Три года, пять лет | |
Администраторы кластера | Единый администратор, несколько администраторов |
Вопросник по проекту
Вопрос | Пример | Ответ |
---|---|---|
Раздел: рабочие нагрузки и частота | ||
Задания MapReduce | 10 заданий - дважды в день | |
Задания Hive | 100 заданий— каждый час | |
Пакетные задания Spark | 50 заданий— каждые 15 минут | |
Задания потоковой передачи Spark | 5 заданий— каждые 3 минуты | |
Задания структурированной потоковой передачи | 5 заданий- каждую минуту | |
Языки программирования | Python, Scala, Java | |
Скрипты | Shell, Python | |
Раздел: данные | ||
Источники данных | Неструктурированные файлы, JSON, Kafka, RDBMS | |
Оркестрация данных | Рабочие процессы Oozie, Airflow | |
Поиск в памяти | Apache Ignite, Redis | |
Целевое расположение данных | HDFS, RDBMS, Kafka, MPP | |
Раздел: метаданные | ||
Тип базы данных Hive | Mysql, Postgres | |
Количество хранилищ метаданных Hive | 2 | |
Количество таблиц Hive | 100 | |
Количество политик Ranger | 20 | |
Количество рабочих процессов Oozie | 100 | |
Раздел: масштабирование | ||
Объем данных, включая репликацию | 100 ТБ | |
Ежедневный объем приема данных | 50 ГБ | |
Темп роста объема данных | 10 % в год | |
Темп увеличения узлов кластера | 5 % в год | |
Раздел: использование кластера | ||
Средняя загрузка ЦП (%) | 60 % | |
Среднее использование памяти (%) | 75% | |
Используемое дисковое пространство | 75% | |
Среднее использование сети (%) | 25% | |
Раздел: персонал | ||
Количество администраторов | 2 | |
Количество разработчиков | 10 | |
Количество конечных пользователей | 100 | |
Навыки | Hadoop, Spark | |
Количество доступных ресурсов для задач по миграции | 2 | |
Раздел: ограничения | ||
Текущие ограничения | Высокая задержка | |
Текущие задачи | Проблема параллелизма |
Вопросник по требованиям Azure
Вопрос | Пример | Ответ |
---|---|---|
Раздел: инфраструктура | ||
Предпочтительный регион | Восточная часть США | |
Есть ли предпочитаемая виртуальная сеть? | Да | |
Требуется ли аварийное восстановление и высокая доступность? | Да | |
Нужна ли интеграция с другими облачными службами? | ADF, Azure Cosmos DB | |
Раздел: перемещение данных | ||
Предпочтения к начальной загрузке | DistCp, Data Box, ADF, WANDisco | |
Передача разностных данных | DistCp, AzCopy | |
Текущая добавочная передача данных | DistCp, Sqoop | |
Раздел: мониторинг и оповещения | ||
Использование мониторинга Azure и оповещений и интеграция стороннего мониторинга | Использование возможностей мониторинга и оповещений Azure | |
Раздел: настройки безопасности | ||
Нужны ли закрытый и защищенный конвейеры данных? | Да | |
Используется ли присоединенный к домену кластер (ESP)? | Да | |
Нужна ли синхронизация локальной службы AD с облаком? | Да | |
Каково количество пользователей AD для синхронизации? | 100 | |
Допускается ли синхронизация паролей с облаком? | Да | |
Разрешены ли пользователи "только в облаке"? | Да | |
Требуется ли MFA? | No | |
Есть ли требования к авторизации данных? | Да | |
Имеется ли управление доступом на основе ролей? | Да | |
Требуется ли аудит? | Да | |
Нужно ли шифрование неактивных данных? | Да | |
Нужно ли шифрование данных при передаче? | Да | |
Раздел: предпочтения касательно перепроектирования | ||
Отдельный кластер или определенные типы кластеров | Определенные типы кластеров | |
Требуется ли удаленное или совместно размещенное хранилище? | Удаленное хранилище | |
Размер кластера меньший, так как данные хранятся удаленно? | Меньший размер кластера | |
Требуется ли использование нескольких небольших кластеров вместо одного большого? | Использование нескольких небольших кластеров | |
Требуется ли использование удаленного хранилища метаданных? | Да | |
Нужно ли совместное использование хранилищ метаданных между разными кластерами? | Да | |
Нужно ли деконструировать рабочие нагрузки? | Заменить задания Hive заданиями Spark | |
Нужно ли использовать ADF для оркестрации данных? | No |
Следующие шаги
Прочитайте следующую статью в этом цикле:
- Migrate on-premises Apache Hadoop clusters to Azure HDInsight - architecture best practices (Миграция локальных кластеров Apache Hadoop в Azure HDInsight. Рекомендации по архитектуре)