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


Создание кластеров 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.

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

  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