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
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido per Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere con l'interfaccia della riga di comando di Azure.
Quando richiesto, installare l'estensione dell'interfaccia della riga di comando di Azure al primo uso. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Creare un cluster
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"
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 variabileclusterType
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
,LOCATION
CLUSTERNAME
,STORAGEACCOUNTNAME
, ePASSWORD
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
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 delname
valore .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
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)
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
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: