Creare cluster basati su Linux in HDInsight tramite Azure PowerShellCreate Linux-based clusters in HDInsight using 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.Azure PowerShell is a powerful scripting environment that you can use to control and automate the deployment and management of your workloads in Microsoft Azure. Questo documento offre informazioni su come creare un cluster HDInsight basato su Linux usando Azure PowerShell.This document provides information about how to create a Linux-based HDInsight cluster by using Azure PowerShell. Include anche uno script di esempio.It also includes an example script.

Nota

Azure PowerShell è disponibile solo su client Windows.Azure PowerShell is only available on Windows clients. Se si usa un client Mac OS X, Linux o Unix, vedere Creare cluster basati su Linux in HDInsight tramite l'interfaccia della riga di comando di Azure per informazioni sull'uso dell'interfaccia della riga di comando di Azure per creare un cluster.If you are using a Linux, Unix, or Mac OS X client, see Create a Linux-based HDInsight cluster using Azure CLI for information about using the Azure CLI to create a cluster.

PrerequisitiPrerequisites

Prima di iniziare questa procedura è necessario disporre di quanto segue:You must have the following before starting this procedure:

Creare clusterCreate cluster

Avviso

La fatturazione dei cluster HDInsight viene calcolata al minuto, indipendentemente dal fatto che siano in uso o meno.Billing for HDInsight clusters is prorated per minute, whether you are using them or not. Assicurarsi di eliminare il cluster dopo aver finito di usarlo.Be sure to delete your cluster after you have finished using it. Per altre informazioni, vedere l'articolo su come eliminare un cluster HDInsight.For more information, see How to delete an HDInsight cluster.

È necessario completare le procedure seguenti per creare un cluster HDInsight con Azure PowerShell:To create an HDInsight cluster by using Azure PowerShell, you must complete the following procedures:

  • Creare un gruppo di risorse di AzureCreate an Azure resource group
  • Creare un account di Archiviazione di AzureCreate an Azure Storage account
  • Creazione di un contenitore BLOB di AzureCreate an Azure Blob container
  • Creazione di un cluster HDInsightCreate an HDInsight cluster

Lo script seguente illustra come creare un nuovo cluster:The following script demonstrates how to create a new cluster:

# Login to your Azure subscription
# Is there an active Azure subscription?
$sub = Get-AzureRmSubscription -ErrorAction SilentlyContinue
if(-not($sub))
{
    Add-AzureRmAccount
}

# If you have multiple subscriptions, set the one to use
# $subscriptionID = "<subscription ID to use>"
# Select-AzureRmSubscription -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-AzureRmResourceGroup -Name $resourceGroupName -Location $location

$defaultStorageAccountName = Read-Host -Prompt "Enter the name of the storage account"

# Create an Azure storae account and container
New-AzureRmStorageAccount `
    -ResourceGroupName $resourceGroupName `
    -Name $defaultStorageAccountName `
    -Type Standard_LRS `
    -Location $location
$defaultStorageAccountKey = (Get-AzureRmStorageAccountKey `
                                -ResourceGroupName $resourceGroupName `
                                -Name $defaultStorageAccountName)[0].Value
$defaultStorageContext = New-AzureStorageContext `
                                -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"

# Default cluster size (# of worker nodes), version, type, and OS
$clusterSizeInNodes = "4"
$clusterVersion = "3.5"
$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-AzureStorageContainer `
    -Name $clusterName -Context $defaultStorageContext 

# Create the HDInsight cluster
New-AzureRmHDInsightCluster `
    -ResourceGroupName $resourceGroupName `
    -ClusterName $clusterName `
    -Location $location `
    -ClusterSizeInNodes $clusterSizeInNodes `
    -ClusterType $clusterType `
    -OSType $clusterOS `
    -Version $clusterVersion `
    -HttpCredential $httpCredential `
    -DefaultStorageAccountName "$defaultStorageAccountName.blob.core.windows.net" `
    -DefaultStorageAccountKey $defaultStorageAccountKey `
    -DefaultStorageContainer $clusterName `
    -SshCredential $sshCredentials

I valori specificati per l'accesso al cluster vengono usati per creare l'account utente Hadoop per il cluster.The values you specify for the cluster login are used to create the Hadoop user account for the cluster. Usare questo account per connettersi ai servizi ospitati nel cluster, ad esempio interfacce utente Web o API REST.Use this account to connect to services hosted on the cluster such as web UIs or REST APIs.

I valori specificati per l'utente SSH vengono usati per creare l'utente SSH per il cluster.The values you specify for the SSH user are used to create the SSH user for the cluster. Usare questo account per avviare una sessione SSH remota nel cluster ed eseguire i processi.Use this account to start a remote SSH session on the cluster and run jobs. Per altre informazioni, vedere il documento Connettersi a HDInsight (Hadoop) con SSH.For more information, see the Use SSH with HDInsight document.

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.If you plan to use more than 32 worker nodes (either at cluster creation or by scaling the cluster after creation), you must also specify a head node size with at least 8 cores and 14 GB of RAM.

Per altre informazioni sulle dimensioni di nodo e i costi associati, vedere Prezzi di HDInsight.For more information on node sizes and associated costs, see HDInsight pricing.

La creazione di un cluster può richiedere fino a 20 minuti.It can take up to 20 minutes to create a cluster.

Creare il cluster: oggetto di configurazioneCreate cluster: Configuration object

È anche possibile creare un oggetto di configurazione di HDInsight tramite il cmdlet New-AzureRmHDInsightClusterConfig.You can also create an HDInsight configuration object using New-AzureRmHDInsightClusterConfig cmdlet. È quindi possibile modificare questo oggetto di configurazione per abilitare le opzioni di configurazione aggiuntive per il cluster.You can then modify this configuration object to enable additional configuration options for your cluster. Infine, usare il parametro -Config del cmdlet New-AzureRmHDInsightCluster per usare la configurazione.Finally, use the -Config parameter of the New-AzureRmHDInsightCluster cmdlet to use the configuration.

Lo script seguente crea un oggetto di configurazione per configurare un R Server sul tipo di cluster HDInsight.The following script creates a configuration object to configure an R Server on HDInsight cluster type. La configurazione consente a un nodo del bordo, RStudio e ad un account di archiviazione aggiuntivo.The configuration enables an edge node, RStudio, and an additional storage account.

$additionalStorageAccountName = Read-Host -Prompt "Enter the name of the additional storage account"

# Create the additional storage account
New-AzureRmStorageAccount -ResourceGroupName $resourceGroupName `
    -StorageAccountName $additionalStorageAccountName `
    -Location $location `
    -Type Standard_LRS

# Get the additional storage account key
$additionalStorageAccountKey = (Get-AzureRmStorageAccountKey -Name $additionalStorageAccountName -ResourceGroupName $resourceGroupName)[0].Value

# Create a new configuration for RServer cluster type
# Use -EdgeNodeSize to set the size of the edge node for RServer clusters
# if you want a specific size. Otherwise, the default size is used.
$config = New-AzureRmHDInsightClusterConfig `
    -ClusterType "RServer" `
    -EdgeNodeSize "Standard_D12_v2"

# Add RStudio to the configuration
$rserverConfig = @{"RStudio"="true"}
$config = $config | Add-AzureRmHDInsightConfigValues `
    -RServer $rserverConfig

# Add an additional storage account
Add-AzureRmHDInsightStorage -Config $config -StorageAccountName "$additionalStorageAccountName.blob.core.windows.net" -StorageAccountKey $additionalStorageAccountKey

# Create a new HDInsight cluster using -Config
New-AzureRmHDInsightCluster `
    -ClusterName $clusterName `
    -ResourceGroupName $resourceGroupName `
    -HttpCredential $httpCredential `
    -Location $location `
    -DefaultStorageAccountName "$defaultStorageAccountName.blob.core.windows.net" `
    -DefaultStorageAccountKey $defaultStorageAccountKey `
    -DefaultStorageContainer $defaultStorageContainerName  `
    -ClusterSizeInNodes $clusterSizeInNodes `
    -OSType $clusterOS `
    -Version $clusterVersion `
    -SshCredential $sshCredentials `
    -Config $config

Avviso

L'uso di un account di archiviazione in una località diversa rispetto al cluster HDInsight non è supportato.Using a storage account in a different location than the HDInsight cluster is not supported. Quando si usa questo esempio, creare l'account di archiviazione aggiuntivo nello stesso percorso del server.When using this example, create the additional storage account in the same location as the server.

Personalizzare i clusterCustomize clusters

Eliminazione del clusterDelete the cluster

Avviso

La fatturazione dei cluster HDInsight viene calcolata al minuto, indipendentemente dal fatto che siano in uso o meno.Billing for HDInsight clusters is prorated per minute, whether you are using them or not. Assicurarsi di eliminare il cluster dopo aver finito di usarlo.Be sure to delete your cluster after you have finished using it. Per altre informazioni, vedere l'articolo su come eliminare un cluster HDInsight.For more information, see How to delete an HDInsight cluster.

Risoluzione dei problemiTroubleshoot

Se si verificano problemi di creazione dei cluster HDInsight, vedere i requisiti dei controlli di accesso.If you run into issues with creating HDInsight clusters, see access control requirements.

Passaggi successiviNext steps

Dopo aver creato un cluster HDInsight, usare le risorse seguenti per acquisire familiarità con il cluster.Now that you have successfully created an HDInsight cluster, use the following resources to learn how to work with your cluster.

Cluster HadoopHadoop clusters

Cluster HBaseHBase clusters

Cluster StormStorm clusters

Cluster SparkSpark clusters