Создание кластеров HDInsight с помощью Azure CLI
Действия, описанные в этом документе, предназначены для создания кластера HDInsight 4.0 с помощью Azure CLI.
Предупреждение
Счета за кластеры HDInsight выставляются пропорционально в минутах, независимо от их использования. Обязательно удалите кластер, когда завершите его использование. См. как удалить кластер HDInsight.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Предпосылки
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в руководстве по быстрому началу работы с Bash в Azure Cloud Shell.
Если вы предпочитаете запускать справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, попробуйте запустить Azure CLI в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы завершить процесс проверки подлинности, выполните действия, отображаемые в терминале. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Создание кластера
Войдите в подписку Azure. Если вы планируете использовать Azure Cloud Shell, выберите Попробуйте в правом верхнем углу блока кода. В противном случае введите следующую команду:
az login # If you have multiple subscriptions, set the one to use # az account set --subscription "SUBSCRIPTIONID"
Задайте переменные среды. Использование переменных в этой статье основано на Bash. Для других сред требуются небольшие изменения. См. полный список возможных параметров для создания кластера в az-hdinsight-create.
Параметр Описание --workernode-count
Число рабочих узлов в кластере. В этой статье переменная clusterSizeInNodes
используется в качестве значения, переданного--workernode-count
.--version
Версия кластера HDInsight. В этой статье переменная clusterVersion
используется в качестве значения, переданного--version
. См. также: поддерживаемые версии HDInsight.--type
Тип кластера HDInsight, например: hadoop, интерактивный Hive, hbase, kafka, spark, rserver
,mlservices
. В этой статье переменнаяclusterType
используется в качестве значения, переданного--type
. См. также: типы и конфигурация кластеров.--component-version
Версии различных компонентов Hadoop в формате "компонент = версия", разделенные пробелами. В этой статье переменная componentVersion
используется в качестве значения, переданного--component-version
. См. также: компоненты Hadoop.Замените
RESOURCEGROUPNAME
,LOCATION
,CLUSTERNAME
,STORAGEACCOUNTNAME
иPASSWORD
нужными значениями. Измените значения для других переменных по мере необходимости. Затем введите команды CLI.export resourceGroupName=RESOURCEGROUPNAME export location=LOCATION export clusterName=CLUSTERNAME export AZURE_STORAGE_ACCOUNT=STORAGEACCOUNTNAME export httpCredential='PASSWORD' export sshCredentials='PASSWORD' export AZURE_STORAGE_CONTAINER=$clusterName export clusterSizeInNodes=1 export clusterVersion=4.0 export clusterType=hadoop export componentVersion=Hadoop=3.1
Создайте группу ресурсов, введя следующую команду:
az group create \ --location $location \ --name $resourceGroupName
Для списка допустимых расположений используйте команду
az account list-locations
, а затем используйте одно из расположений из значенияname
.создайте учетную запись хранения Azure, введя следующую команду:
# Note: kind BlobStorage is not available as the default storage account. az storage account create \ --name $AZURE_STORAGE_ACCOUNT \ --resource-group $resourceGroupName \ --https-only true \ --kind StorageV2 \ --location $location \ --sku Standard_LRS
Извлечь первичный ключ из учетной записи хранения Azure и сохранить его в переменной, введя следующую команду:
export AZURE_STORAGE_KEY=$(az storage account keys list \ --account-name $AZURE_STORAGE_ACCOUNT \ --resource-group $resourceGroupName \ --query [0].value -o tsv)
создайте контейнер службы хранилища Azure, введя следующую команду:
az storage container create \ --name $AZURE_STORAGE_CONTAINER \ --account-key $AZURE_STORAGE_KEY \ --account-name $AZURE_STORAGE_ACCOUNT
Создайте кластер HDInsight, введя следующую команду:
az hdinsight create \ --name $clusterName \ --resource-group $resourceGroupName \ --type $clusterType \ --component-version $componentVersion \ --http-password $httpCredential \ --http-user admin \ --location $location \ --workernode-count $clusterSizeInNodes \ --ssh-password $sshCredentials \ --ssh-user sshuser \ --storage-account $AZURE_STORAGE_ACCOUNT \ --storage-account-key $AZURE_STORAGE_KEY \ --storage-container $AZURE_STORAGE_CONTAINER \ --version $clusterVersion
Это важно
Кластеры HDInsight доступны в различных типах, которые соответствуют рабочей нагрузке или технологии, для которой настроен кластер. Нет поддерживаемого метода для создания кластера, который объединяет несколько типов, например HBase в одном кластере.
Для завершения процесса создания кластера может потребоваться несколько минут. Обычно около 15.
Очистка ресурсов
После завершения работы с этой статьей кластер можно удалить. В случае с HDInsight ваши данные хранятся в службе хранилища Azure, что позволяет безопасно удалить неиспользуемый кластер. Плата за кластеры HDInsight взимается, даже когда они не используются. Так как затраты на кластер во много раз превышают затраты на хранилище, экономически целесообразно удалять неиспользуемые кластеры.
Введите все следующие команды или некоторые из них, чтобы удалить ресурсы:
# Remove cluster
az hdinsight delete \
--name $clusterName \
--resource-group $resourceGroupName
# Remove storage container
az storage container delete \
--account-name $AZURE_STORAGE_ACCOUNT \
--name $AZURE_STORAGE_CONTAINER
# Remove storage account
az storage account delete \
--name $AZURE_STORAGE_ACCOUNT \
--resource-group $resourceGroupName
# Remove resource group
az group delete \
--name $resourceGroupName
Устранение неполадок
Если у вас возникли проблемы с созданием кластеров HDInsight, см. раздел требования к управлению доступом.
Дальнейшие действия
Теперь, когда вы успешно создали кластер HDInsight с помощью Azure CLI, используйте следующие сведения, чтобы узнать, как работать с кластером: