Создание кластеров HDInsight с помощью Azure CLI
Действия, описанные в этом документе, по созданию кластера HDInsight 4.0 с помощью Azure CLI.
Предупреждение
Счета за кластеры HDInsight выставляются пропорционально в минутах, независимо от их использования. Обязательно удалите кластер, когда завершите его использование. Дополнительные сведения см. в статье Удаление кластера HDInsight с помощью браузера, PowerShell или классического интерфейса Azure CLI.
Если у вас еще нет подписки 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, обратитесь к следующим статьям, чтобы научиться работать с кластером: