Creare cluster HDInsight con l'interfaccia della riga di comando di Azure

I passaggi descritti in questo documento illustrano come creare un cluster HDInsight 4.0 usando l'interfaccia della riga di comando di Azure.

Avviso

La fatturazione dei cluster HDInsight viene calcolata al minuto, indipendentemente dal fatto che siano usati o meno. Assicurarsi di eliminare il cluster dopo aver finito di usarlo. Vedere Come eliminare un cluster HDInsight.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Prerequisiti

Creare un cluster

  1. Accedere alla sottoscrizione di Azure. Se si prevede di usare Azure Cloud Shell, fare clic su Prova nell'angolo superiore destro del blocco di codice. Altrimenti, immettere il comando seguente:

    az login
    
    # If you have multiple subscriptions, set the one to use
    # az account set --subscription "SUBSCRIPTIONID"
    
  2. Impostare le variabili di ambiente. L'uso delle variabili in questo articolo è basato su Bash. Per altri ambienti sono necessarie lievi variazioni. Per un elenco completo dei possibili parametri per la creazione del cluster, vedere az-hdinsight-create .

    Parametro Descrizione
    --workernode-count Numero di nodi di lavoro nel cluster. Questo articolo usa la variabile clusterSizeInNodes come valore passato a --workernode-count.
    --version versione del cluster HDInsight. Questo articolo usa la variabile clusterVersion come valore passato a --version. Vedere anche: Versioni supportate di HDInsight.
    --type Tipo di cluster HDInsight, ad esempio hadoop, hive interattivo, hbase, kafka, spark, rserver, . mlservices Questo articolo usa la variabile clusterType come valore passato a --type. Vedere anche: Tipi di cluster e configurazione.
    --component-version Le versioni di vari componenti Hadoop, in versioni separate da spazio nel formato 'component=version'. Questo articolo usa la variabile componentVersion come valore passato a --component-version. Vedere anche: Componenti hadoop.

    Sostituire RESOURCEGROUPNAME, LOCATIONCLUSTERNAME, STORAGEACCOUNTNAME, e PASSWORD con i valori desiderati. Modificare i valori per le altre variabili in base alle esigenze. Immettere quindi i comandi dell'interfaccia della riga di comando.

    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. Creare il gruppo di risorse immettendo il comando seguente:

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

    Per un elenco di percorsi validi, usare il az account list-locations comando e quindi usare una delle posizioni del name valore .

  4. Creare un account Archiviazione di Azure immettendo il comando seguente:

    # 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. Estrarre la chiave primaria dall'account Archiviazione di Azure e archiviarla in una variabile immettendo il comando seguente:

    export AZURE_STORAGE_KEY=$(az storage account keys list \
        --account-name $AZURE_STORAGE_ACCOUNT \
        --resource-group $resourceGroupName \
        --query [0].value -o tsv)
    
  6. Creare un contenitore Archiviazione di Azure immettendo il comando seguente:

    az storage container create \
        --name $AZURE_STORAGE_CONTAINER \
        --account-key $AZURE_STORAGE_KEY \
        --account-name $AZURE_STORAGE_ACCOUNT
    
  7. Creare il cluster HDInsight immettendo il comando seguente:

    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

    Sono disponibili molti tipi di cluster HDInsight, che corrispondono al carico di lavoro o alla tecnologia per cui è ottimizzato il cluster. Non esiste alcun metodo supportato per creare un cluster che combina più tipi, ad esempio HBase in un cluster.

    Il processo di creazione del cluster può richiedere alcuni minuti, in genere circa 15.

Pulire le risorse

Al termine dell'articolo, è consigliabile eliminare il cluster. Con HDInsight, i dati vengono archiviati in Archiviazione di Azure ed è possibile eliminare tranquillamente un cluster quando non è in uso. Vengono addebitati i costi anche per i cluster HDInsight che non sono in uso. Poiché i costi per il cluster sono decisamente superiori a quelli per l'archiviazione, eliminare i cluster quando non vengono usati è una scelta economicamente conveniente.

Immettere tutti o alcuni dei comandi seguenti per rimuovere le risorse:

# 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

Risoluzione dei problemi

Se si verificano problemi di creazione dei cluster HDInsight, vedere i requisiti dei controlli di accesso.

Passaggi successivi

Dopo aver creato un cluster HDInsight con l'interfaccia della riga di comando di Azure, usare quanto segue per informazioni su come usare il cluster:

Cluster Apache Hadoop

Cluster Apache HBase