Criar clusters HDInsight usando a CLI do Azure

As etapas neste documento passo a passo para criar um cluster HDInsight 4.0 usando a CLI do Azure.

Aviso

A cobrança de clusters HDInsight é rateada por minuto, quer você os use ou não. Certifique-se de excluir o cluster depois de terminar de usá-lo. Veja como excluir um cluster HDInsight.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Pré-requisitos

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

Criar um cluster

  1. Faça logon na sua assinatura do Azure. Se você planeja usar o Azure Cloud Shell, selecione Experimente no canto superior direito do bloco de código. Caso contrário, digite o seguinte comando:

    az login
    
    # If you have multiple subscriptions, set the one to use
    # az account set --subscription "SUBSCRIPTIONID"
    
  2. Defina variáveis de ambiente. O uso de variáveis neste artigo é baseado em Bash. São necessárias ligeiras variações para outros ambientes. Consulte az-hdinsight-create para obter uma lista completa de parâmetros possíveis para a criação de clusters.

    Parâmetro Description
    --workernode-count O número de nós de trabalho no cluster. Este artigo usa a variável clusterSizeInNodes como o valor passado para --workernode-count.
    --version A versão do cluster HDInsight. Este artigo usa a variável clusterVersion como o valor passado para --version. Consulte também: Versões suportadas do HDInsight.
    --type Tipo de cluster HDInsight, como: hadoop, colmeia interativa, hbase, kafka, faísca, rserver, mlservices. Este artigo usa a variável clusterType como o valor passado para --type. Consulte também: Tipos e configuração de cluster.
    --component-version As versões de vários componentes do Hadoop, em versões separadas por espaço no formato 'component=version'. Este artigo usa a variável componentVersion como o valor passado para --component-version. Consulte também: Componentes do Hadoop.

    Substitua RESOURCEGROUPNAME, , , , STORAGEACCOUNTNAMELOCATIONCLUSTERNAMEe PASSWORD pelos valores desejados. Altere os valores para as outras variáveis conforme desejado. Em seguida, insira os comandos da 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. Crie o grupo de recursos inserindo o seguinte comando:

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

    Para obter uma lista de locais válidos, use o az account list-locations comando e, em seguida, use um dos locais do name valor.

  4. Crie uma conta de Armazenamento do Azure inserindo o seguinte comando:

    # 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. Extraia a chave primária da conta de Armazenamento do Azure e armazene-a em uma variável inserindo o seguinte comando:

    export AZURE_STORAGE_KEY=$(az storage account keys list \
        --account-name $AZURE_STORAGE_ACCOUNT \
        --resource-group $resourceGroupName \
        --query [0].value -o tsv)
    
  6. Crie um contêiner de Armazenamento do Azure inserindo o seguinte comando:

    az storage container create \
        --name $AZURE_STORAGE_CONTAINER \
        --account-key $AZURE_STORAGE_KEY \
        --account-name $AZURE_STORAGE_ACCOUNT
    
  7. Crie o cluster HDInsight inserindo o seguinte comando:

    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
    

    Importante

    Os clusters HDInsight vêm em vários tipos, que correspondem à carga de trabalho ou à tecnologia para a qual o cluster está ajustado. Não há nenhum método suportado para criar um cluster que combine vários tipos, como HBase em um cluster.

    Pode levar vários minutos para que o processo de criação do cluster seja concluído. Geralmente em torno de 15.

Clean up resources (Limpar recursos)

Depois de concluir o artigo, pode achar conveniente eliminar o cluster. Com o HDInsight, seus dados são armazenados no Armazenamento do Azure, para que você possa excluir com segurança um cluster quando ele não estiver em uso. Você também é cobrado por um cluster HDInsight, mesmo quando ele não está em uso. Como as cobranças para o cluster são muitas vezes maiores do que as taxas para armazenamento, faz sentido econômico excluir clusters quando eles não estão em uso.

Insira todos ou alguns dos seguintes comandos para remover recursos:

# 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

Resolver problemas

Caso se depare com problemas com a criação de clusters do HDInsight, veja aceder aos requisitos de controlo.

Próximos passos

Agora que você criou com êxito um cluster HDInsight usando a CLI do Azure, use o seguinte para saber como trabalhar com seu cluster:

Clusters Apache Hadoop

Clusters Apache HBase