Создание кластеров HDInsight с помощью Azure CLI

Действия, описанные в этом документе, предназначены для создания кластера HDInsight 4.0 с помощью Azure CLI.

Предупреждение

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

Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.

Предпосылки

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

  1. Войдите в подписку Azure. Если вы планируете использовать Azure Cloud Shell, выберите Попробуйте в правом верхнем углу блока кода. В противном случае введите следующую команду:

    az login
    
    # If you have multiple subscriptions, set the one to use
    # az account set --subscription "SUBSCRIPTIONID"
    
  2. Задайте переменные среды. Использование переменных в этой статье основано на 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
    
  3. Создайте группу ресурсов, введя следующую команду:

    az group create \
        --location $location \
        --name $resourceGroupName
    

    Для списка допустимых расположений используйте команду az account list-locations, а затем используйте одно из расположений из значения name.

  4. создайте учетную запись хранения 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
    
  5. Извлечь первичный ключ из учетной записи хранения Azure и сохранить его в переменной, введя следующую команду:

    export AZURE_STORAGE_KEY=$(az storage account keys list \
        --account-name $AZURE_STORAGE_ACCOUNT \
        --resource-group $resourceGroupName \
        --query [0].value -o tsv)
    
  6. создайте контейнер службы хранилища Azure, введя следующую команду:

    az storage container create \
        --name $AZURE_STORAGE_CONTAINER \
        --account-key $AZURE_STORAGE_KEY \
        --account-name $AZURE_STORAGE_ACCOUNT
    
  7. Создайте кластер 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, используйте следующие сведения, чтобы узнать, как работать с кластером:

Кластеры Apache Hadoop

Кластеры Apache HBase