Creare cluster basati su Linux in HDInsight tramite Azure PowerShell
Azure PowerShell è un ambiente di scripting potente che può essere usato per controllare e automatizzare la distribuzione e la gestione dei carichi di lavoro in Microsoft Azure. Questo documento offre informazioni su come creare un cluster HDInsight basato su Linux usando Azure PowerShell. Include anche uno script di esempio.
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Prerequisiti
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Modulo Az di Azure PowerShell .
Creare cluster
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.
È necessario completare le procedure seguenti per creare un cluster HDInsight con Azure PowerShell:
- Creare un gruppo di risorse di Azure
- Creare un account di Archiviazione di Azure
- Creazione di un contenitore BLOB di Azure
- Creazione di un cluster HDInsight
Nota
L'uso di PowerShell per creare un cluster HDInsight con Azure Data Lake Archiviazione Gen2 non è attualmente supportato.
Lo script seguente illustra come creare un nuovo cluster:
# Login to your Azure subscription
$context = Get-AzContext
if ($context -eq $null)
{
Connect-AzAccount
}
$context
# If you have multiple subscriptions, set the one to use
# $subscriptionID = "<subscription ID to use>"
# Select-AzSubscription -SubscriptionId $subscriptionID
# Get user input/default values
$resourceGroupName = Read-Host -Prompt "Enter the resource group name"
$location = Read-Host -Prompt "Enter the Azure region to create resources in"
# Create the resource group
New-AzResourceGroup -Name $resourceGroupName -Location $location
$defaultStorageAccountName = Read-Host -Prompt "Enter the name of the storage account"
# Create an Az.Storage account and container
New-AzStorageAccount `
-ResourceGroupName $resourceGroupName `
-Name $defaultStorageAccountName `
-Type Standard_LRS `
-Location $location
$defaultStorageAccountKey = (Get-AzStorageAccountKey `
-ResourceGroupName $resourceGroupName `
-Name $defaultStorageAccountName)[0].Value
$storageAccountResourceId = (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -AccountName $defaultStorageAccountName).Id
$defaultStorageContext = New-AzStorageContext `
-StorageAccountName $defaultStorageAccountName `
-StorageAccountKey $defaultStorageAccountKey
# Get information for the HDInsight cluster
$clusterName = Read-Host -Prompt "Enter the name of the HDInsight cluster"
# Cluster login is used to secure HTTPS services hosted on the cluster
$httpCredential = Get-Credential -Message "Enter Cluster login credentials" -UserName "admin"
# SSH user is used to remotely connect to the cluster using SSH clients
$sshCredentials = Get-Credential -Message "Enter SSH user credentials" -UserName "sshuser"
# Default cluster size (# of worker nodes), version, type, and OS
$clusterSizeInNodes = "4"
$clusterVersion = "5.1"
$clusterType = "Hadoop"
$clusterOS = "Linux"
# Set the storage container name to the cluster name
$defaultBlobContainerName = $clusterName
# Create a blob container. This holds the default data store for the cluster.
New-AzStorageContainer `
-Name $clusterName -Context $defaultStorageContext
# Create the HDInsight cluster
New-AzHDInsightCluster `
-ResourceGroupName $resourceGroupName `
-ClusterName $clusterName `
-Location $location `
-ClusterSizeInNodes $clusterSizeInNodes `
-ClusterType $clusterType `
-OSType $clusterOS `
-Version $clusterVersion `
-HttpCredential $httpCredential `
-StorageAccountResourceId $storageAccountResourceId `
-StorageAccountKey $defaultStorageAccountKey `
-StorageContainer $defaultBlobContainerName `
-SshCredential $sshCredentials
I valori specificati per l'accesso al cluster vengono usati per creare l'account utente Hadoop per il cluster. Usare questo account per connettersi ai servizi ospitati nel cluster, ad esempio interfacce utente Web o API REST.
I valori specificati per l'utente SSH vengono usati per creare l'utente SSH per il cluster. Usare questo account per avviare una sessione SSH remota nel cluster ed eseguire i processi. Per altre informazioni, vedere il documento Connettersi a HDInsight (Hadoop) con SSH.
Importante
Se si prevede di usare più di 32 nodi del ruolo di lavoro, al momento della creazione del cluster o con il ridimensionamento del cluster dopo la creazione, è necessario specificare anche una dimensione del nodo head con almeno 8 core e 14 GB di RAM.
Per altre informazioni sulle dimensioni di nodo e i costi associati, vedere Prezzi di HDInsight.
La creazione di un cluster può richiedere fino a 20 minuti.
Creare il cluster: oggetto di configurazione
È anche possibile creare un oggetto di configurazione di HDInsight tramite il cmdlet New-AzHDInsightClusterConfig
. È quindi possibile modificare questo oggetto di configurazione per abilitare le opzioni di configurazione aggiuntive per il cluster. Infine, usare il parametro -Config
del cmdlet New-AzHDInsightCluster
per usare la configurazione.
Personalizzare i cluster
- Vedere Personalizzare cluster HDInsight tramite Bootstrap.
- Vedere Personalizzare cluster HDInsight usando l'azione script.
Eliminare il cluster
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.
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, usare le risorse seguenti per informazioni su come usare il cluster.
Cluster Apache Hadoop
Cluster Apache HBase
- Introduzione ad Apache HBase in HDInsight
- Sviluppare applicazioni Java per Apache HBase in HDInsight
Cluster Apache Spark
- Creare un'applicazione autonoma con Scala
- Eseguire processi in modalità remota in un cluster Apache Spark usando Apache Livy
- Apache Spark con Business Intelligence: eseguire l'analisi interattiva dei dati con strumenti di Business Intelligence mediante Spark in HDInsight
- Apache Spark con Machine Learning: utilizzare Spark in HDInsight per prevedere i risultati di un controllo alimentare