Поделиться через


Настройка кластеров в HDInsight с помощью Apache Hadoop, Spark, Kafka и т. д.

В этой статье вы узнаете, как настроить и настроить Apache Hadoop, Apache Spark, Apache Kafka, Интерактивный запрос или Apache HBase в Azure HDInsight. Вы также узнаете, как настроить кластеры и добавить безопасность, присоединив их к домену.

Кластер Hadoop состоит из нескольких виртуальных машин (виртуальных машин, также известных как узлы), которые используются для распределенной обработки задач. HDInsight обрабатывает сведения о реализации установки и настройки отдельных узлов. Вы предоставляете только общие сведения о конфигурации.

Внимание

Начисление оплаты начинается после создания кластера HDInsight и прекращается только после его удаления. Выставление счетов пропорционально в минуту, поэтому всегда удалять кластер, когда он больше не используется. Узнайте, как удалить кластер.

Если вы используете несколько кластеров вместе, необходимо создать виртуальную сеть. Если вы используете кластер Spark, вы также хотите использовать соединитель хранилища Hive. См. сведения о планировании виртуальной сети для Azure HDInsight и интеграции Apache Spark и Apache Hive с Hive Warehouse Connector.

Способы установки кластера

В приведенной ниже таблице представлены различные способы установки кластера HDInsight.

Метод создания кластеров Веб-браузер Командная строка REST API SDK
Портал Azure      
Фабрика данных Azure
Azure CLI      
Azure PowerShell      
cURL    
Шаблоны диспетчера ресурсов Azure      

В этой статье приводятся пошаговые инструкции по выполнению установки на портале Azure, где можно создать кластер HDInsight.

Основные сведения

Снимок экрана: параметры кластера Create HDInsight.

Сведения о проекте

Azure Resource Manager помогает работать с ресурсами в приложении в качестве группы, которая называется группой ресурсов Azure. Вы можете развертывать, обновлять, отслеживать или удалять все ресурсы для приложения в рамках одной скоординированной операции.

Сведения о кластере

Сведения о кластере включают имя, регион, тип и версию.

Имя кластера

На имена кластеров HDInsight налагаются указанные ниже ограничения.

  • Допустимые символы: a-z, 0-9 и A-Z
  • Максимальная длина: 59
  • Зарезервированные имена: приложения
  • Именование кластера: область для всех подписок Azure. Имя кластера должно быть уникальным по всему миру. Первые шесть символов должны быть уникальными в виртуальной сети.

Область/регион

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

Тип кластера

В следующей таблице HDInsight в настоящее время предоставляет типы кластеров, каждый из которых содержит набор компонентов для предоставления определенных функций.

Внимание

Доступны различные типы кластеров HDInsight, каждый из которых предназначен для отдельной рабочей нагрузки или технологии. Не поддерживается метод создает кластер, который объединяет несколько типов, например HBase в одном кластере. Если для решения нужны технологии, распределенные по нескольким типам кластеров HDInsight, виртуальная сеть Azure может объединять необходимые типы кластеров.

Тип кластера Функция
Hadoop Пакетный запрос и анализ хранимых данных.
HBase Обработка больших объемов данных без схемы NoSQL.
Интерактивный запрос Кэширование в памяти для обеспечения интерактивных и ускоренных запросов Hive.
Kafka Распределенная платформа потоковой передачи, которую можно использовать для создания конвейеров и приложений потоковой передачи в режиме реального времени.
Spark Обработка в памяти, интерактивные запросы, микро пакетная обработка потока.

Версия

Выберите версию HDInsight для этого кластера. Дополнительные сведения см. в разделе Поддерживаемые версии HDInsight.

Учетные данные кластера

Во время создания кластера HDInsight можно настроить две учетные записи пользователя.

  • Имя пользователя для входа в кластер: имя пользователя по умолчанию — администратор. Он использует базовую конфигурацию в портал Azure. Он также называется пользователем кластера или пользователем HTTP.
  • Имя пользователя Secure Shell (SSH): используется для подключения к кластеру через SSH. Дополнительные сведения см. в статье Подключение к HDInsight (Hadoop) с помощью SSH.

Имя пользователя HTTP имеет следующие ограничения:

  • Разрешенные специальные символы: _ и @
  • Символы не разрешены: #;.",/:!*?$(){}[]<>|&--=+%~^пробел
  • Максимальная длина: 20

Имя пользователя SSH имеет следующие ограничения:

  • Разрешенные специальные символы: _ и @
  • Символы не разрешены: #;.",/:!*?$(){}[]<>|&--=+%~^пробел
  • Максимальная длина: 64
  • Зарезервированные имена: hadoop, users, oozie, hive, mapred, ambari-qa, zookeeper, tez, hdfs, sqoop, yarn, hcat, ams, hbase, admin, user, user1, test2, test1, user3, user3, admin1, 1, 123, a, actuser, adm, adm, admin2, aspnet, backup, console, David, guest, John, owner, root, sql, sql, support, support_388945a0, sys, test2, test2, user4, user5, spark

Хранилище

Снимок экрана: параметры хранилища кластера с конечными точками, совместимыми с HDFS.

Хотя локальная установка Hadoop использует распределенную файловую систему Hadoop (HDFS) для хранения в кластере, в облаке используются конечные точки хранилища, подключенные к кластеру. Использование облачного хранилища означает, что вы можете безопасно удалить кластеры HDInsight, используемые для вычислений, сохраняя данные.

Кластеры HDInsight могут использовать следующие варианты хранилищ:

  • Azure Data Lake Storage 2-го поколения
  • Служба хранилища Azure общего назначения версии 2.
  • Служба хранилища Azure для блочных BLOB-объектов (поддерживается только в качестве дополнительного хранилища).

Дополнительные сведения о вариантах хранилищ с HDInsight см. в статье Сравнение вариантов хранилищ для использования с кластерами Azure HDInsight.

Использование дополнительных учетных записей хранения в другом расположении от кластера HDInsight не поддерживается.

Во время настройки для конечной точки хранилища по умолчанию необходимо указать контейнер BLOB-объектов учетной записи хранения или Data Lake Storage. Хранилище по умолчанию содержит журналы приложений и системный журнал. При необходимости можно указать дополнительные связанные учетные записи хранения и учетные записи Data Lake Storage, к которым может получить доступ кластер. Кластер HDInsight должен находиться в том же расположении Azure, что и зависимые учетные записи хранения.

Примечание.

Функция, требующая безопасной передачи, обеспечивает принудительную передачу всех запросов к вашей учетной записи через безопасное подключение. Только кластер HDInsight версии 3.6 или более новой поддерживает эту функцию. Дополнительные сведения см. в статье Создание кластера Apache Hadoop с помощью учетных записей хранения с безопасной передачей в Azure HDInsight.

Не включите безопасную передачу хранилища после создания кластера, так как использование учетной записи хранения может привести к ошибкам. Лучше создать новый кластер с помощью учетной записи хранения с уже включенной безопасной передачей.

HDInsight не выполняет автоматическую передачу, перемещение или копирование данных, хранящихся в хранилище из одного региона в другой.

Параметры хранилища метаданных

Вы можете создать дополнительные хранилища метаданных Hive или Apache Oozie. Не все типы кластеров поддерживают хранилища метаданных, а Azure Synapse Analytics несовместимы с хранилищами метаданных.

Дополнительную информацию см. в статье Использование внешних хранилищ метаданных в Azure HDInsight.

Создавая пользовательское хранилище метаданных, не используйте в имени базы данных тире, дефисы и пробелы. Это может привести к сбою при создании кластера.

База данных SQL для Hive

Если вы хотите сохранить таблицы Hive после удаления кластера HDInsight, используйте пользовательское хранилище метаданных. Затем можно будет подключить это хранилище к другому кластеру HDInsight.

Хранилище метаданных HDInsight, созданное для одной версии кластера HDInsight, не может быть общим для разных версий кластера HDInsight. Список версий HDInsight см. в разделе Поддерживаемые версии HDInsight.

Управляемые удостоверения можно использовать для проверки подлинности в базе данных SQL для Hive. Дополнительные сведения см. в статье "Использование управляемого удостоверения для проверки подлинности База данных SQL в HDInsight".

Хранилище метаданных по умолчанию предоставляет базу данных SQL с базовым ограничением уровня 5 DTU (недоступно для обновления). Он подходит для базовых целей тестирования. Для больших рабочих нагрузок или рабочих нагрузок рекомендуется выполнить миграцию в внешнее хранилище метаданных.

База данных SQL для Oozie

Чтобы повысить производительность при использовании Oozie, используйте пользовательское хранилище метаданных. Хранилище метаданных также позволяет осуществлять доступ к данным задания Oozie после удаления кластера.

Управляемые удостоверения можно использовать для проверки подлинности с помощью базы данных SQL для Oozie. Дополнительные сведения см. в статье "Использование управляемого удостоверения для проверки подлинности База данных SQL в HDInsight".

База данных SQL для Ambari

Ambari используется для мониторинга кластеров HDInsight, внесения изменений конфигурации и хранения сведений об управлении кластерами и журнала заданий. С помощью настраиваемой функции базы данных Ambari можно развернуть новый кластер и настроить Ambari в внешней базе данных, которую вы управляете. Дополнительные сведения см. в разделе "Настраиваемая база данных Ambari".

Управляемые удостоверения можно использовать для проверки подлинности с помощью базы данных SQL для Ambari. Дополнительные сведения см. в статье "Использование управляемого удостоверения для проверки подлинности База данных SQL в HDInsight".

Вы не можете повторно использовать пользовательское хранилище метаданных Oozie. Чтобы использовать пользовательское хранилище метаданных Oozie, необходимо предоставить пустую базу данных SQL при создании кластера HDInsight.

Безопасность и сеть

Снимок экрана: параметр

Корпоративный пакет безопасности

Для типов кластеров Hadoop, Spark, HBase, Kafka и Interactive Query можно включить корпоративный пакет безопасности. Этот пакет предоставляет возможность более безопасной настройки кластера с помощью Apache Ranger и интеграции с Microsoft Entra. Дополнительные сведения см. в статье Общие сведения о корпоративной безопасности в Azure HDInsight.

С корпоративным пакетом безопасности можно интегрировать HDInsight с Microsoft Entra и Apache Ranger. Для создания нескольких пользователей можно использовать корпоративный пакет безопасности.

Дополнительные сведения о создании присоединенного к домену кластера HDInsight см. в статье "Создание среды песочницы HDInsight, присоединенной к домену".

Протокол TLS

Дополнительные сведения см. в статье о протоколе TLS.

Виртуальная сеть

Если для решения нужны технологии, распределенные по нескольким типам кластеров HDInsight, виртуальная сеть Azure может объединять необходимые типы кластеров. Благодаря такой конфигурации кластеры и любой развернутый в них код могут взаимодействовать друг с другом напрямую.

Подробные сведения об использовании виртуальных сетей Azure в HDInsight см. в статье Планирование виртуальной сети для Azure HDInsight.

Пример использования двух типов кластера в виртуальной сети Azure см. в статье об использовании структурированного потока Apache Spark при помощи Apache Kafka. Дополнительные сведения об использовании HDInsight в виртуальной сети, включая требования к конфигурации виртуальной сети, см. в статье Планирование виртуальной сети для Azure HDInsight.

Параметр шифрования диска

Подробнее см. статью о шифровании диска с управляемыми клиентом ключами.

Прокси-сервер REST для Kafka

Этот параметр доступен только для типа кластера Kafka. Дополнительные сведения см. в статье со сведениями об использовании прокси-сервера REST.

Идентификация

Дополнительные сведения см. в статье Управляемые удостоверения в Azure HDInsight.

Конфигурация и цены

Снимок экрана: выбор размера узла для HDInsight.

Плата за использование узлов взимается, пока существует кластер. Начисление оплаты начинается после создания кластера и прекращается только после его удаления. Кластеры не могут быть освобождены или помещены на удержание.

конфигурация узла;

Для каждого типа кластера используется своя терминология. Кроме того, типы отличаются количеством узлов и стандартными размерами виртуальных машин. В следующей таблице число узлов для каждого типа узла указывается в скобках.

Тип Узлы Схема
Hadoop Головной узел (2), рабочий узел (от 1) Узлы кластера HDInsight Hadoop.
HBase Головной сервер (2), сервер региона (1+), узел Master/ZooKeeper (3) Настройка типа кластера HDInsight HBase.
Spark Головной узел (2), рабочий узел (от 1), узел ZooKeeper (3) (кат. "Бесплатный" для размера виртуальной машины ZooKeeper A1) Настройка типа кластера HDInsight spark.

Дополнительные сведения см. в разделе "Конфигурация узла по умолчанию" и размеры виртуальных машин для кластеров.

Стоимость кластеров HDInsight определяется количеством узлов и размерами виртуальных машин для узлов.

Кластеры разных типов отличаются типами, количеством и размерами узлов.

  • Тип кластера Hadoop по умолчанию:

    • два головных узла;
    • Четыре рабочих узла

Если вы пытаетесь использовать HDInsight, рекомендуется использовать один рабочий узел. Подробные сведения о ценах на HDInsight см. на этой странице.

Примечание.

Максимальный размер кластера зависит от подписки Azure. Чтобы увеличить лимит, обратитесь в службу поддержки по вопросам выставления счетов Azure.

При настройке кластера на портале Azure размер узла можно выбрать на вкладке Конфигурация и цены. На портале также отображаются расценки на узлы разных размеров.

Размеры виртуальных машин

При развертывании кластеров выберите вычислительные ресурсы на основе решения, которое планируется развернуть. Для кластеров HDInsight используются следующие виртуальные машины:

Чтобы узнать, какое значение следует использовать для указания размера виртуальной машины при создании кластера с помощью различных пакетов SDK или Azure PowerShell, см . сведения о размерах виртуальных машин, используемых для кластеров HDInsight. Используйте значение из столбца Размер таблиц, приведенных в этой статье.

Внимание

Если в кластере требуется более 32 рабочих узлов, для головного узла следует выбрать размер с по крайней мере 8 ядрами и 14 ГБ ОЗУ.

Дополнительные сведения см. в разделе "Размеры" для виртуальных машин. Сведения о расценках на разные размеры см. здесь.

Добавление дисков

Примечание.

Добавленные диски настраиваются только для локальных каталогов диспетчера узлов, а не для каталогов datanode.

Кластер HDInsight поставляется с предопределенным дисковым пространством на основе версии. Выполнение некоторых больших приложений может привести к нехватке места на диске с ошибками LinkId=221672#ERROR_NOT_ENOUGH_DISK_SPACE и сбоями заданий.

Вы можете добавить в кластер дополнительные диски с помощью нового компонента NodeManager локального каталога. Во время создания кластера Hive и Spark можно выбрать количество дисков и добавить их на рабочие узлы. Выбранные диски могут составлять 1 ТБ и являются частью локальных каталогов NodeManager .

  1. На вкладке "Конфигурация и цены" выберите " Включить управляемый диск".
  2. Введите число дисков уровня "Стандартный".
  3. Выберите рабочий узел.

Вы можете проверить количество дисков на вкладке "Проверка и создание " в разделе "Конфигурация кластера".

Добавить приложение

Вы можете установить приложения HDInsight в кластере HDInsight под управлением Linux. Вы можете использовать приложения, предоставляемые корпорацией Майкрософт или сторонними организациями или разработанные вами. Дополнительные сведения см. в статье Установка сторонних приложений Apache Hadoop в Azure HDInsight.

Большинство приложений HDInsight устанавливаются в пустой граничный узел. Пустой граничный узел — это виртуальная машина Linux с теми же клиентскими инструментами, что и в головном узле. Граничный узел можно использовать для доступа к кластеру, а также тестирования и размещения клиентских приложений. Подробные сведения см. в статье Использование пустых граничных узлов в HDInsight.

Действия скрипта

Вы можете установить дополнительные компоненты или настроить конфигурацию кластера с помощью скриптов во время создания. Такие скрипты вызываются с помощью действий скриптов, которые можно использовать в портал Azure, командлетах HDInsight Windows PowerShell или пакете SDK ДЛЯ HDInsight для .NET. Дополнительные сведения см. в статье "Настройка кластера HDInsight с помощью действий скрипта".

Некоторые собственные компоненты Java, такие как Apache Mahout и Cascading, могут выполняться в кластере как JAR-файлы. Эти JAR-файлы можно распространять в хранилище и отправлять их в кластеры HDInsight с помощью механизмов отправки заданий Hadoop. См. дополнительные сведения об отправке заданий Apache Hadoop программными средствами.

Примечание.

Если при развертывании или вызове JAR-файлов в кластерах HDInsight возникают проблемы, обратитесь в службу поддержки Майкрософт.

HDInsight не поддерживает каскадное отображение и не имеет права на служба поддержки Майкрософт. Списки поддерживаемых компонентов см. в статье Что представляют собой различные компоненты Hadoop, доступные в HDInsight?

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

  • clusterIdentity.xml
  • core-site.xml
  • gateway.xml
  • hbase-env.xml
  • hbase-site.xml
  • hdfs-site.xml
  • hive-env.xml
  • Hive-site.xml
  • mapred-site
  • oozie-site.xml
  • oozie-env.xml
  • tez-site.xml
  • webhcat-site.xml
  • yarn-site.xml

Дополнительные сведения см. в статье Настройка кластеров HDInsight с помощью начальной загрузки.