Criar clusters baseados em Linux em HDInsight utilizando Azure PowerShell

Azure PowerShell é um poderoso ambiente de scripts que podes usar para controlar e automatizar a implementação e gestão das tuas cargas de trabalho no Microsoft Azure. Este documento fornece informações sobre como criar um cluster HDInsight baseado em Linux utilizando Azure PowerShell. Também inclui um roteiro de exemplo.

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

Pré-requisitos

Nota

Para interagir com o Azure, recomenda-se o módulo Azure Az PowerShell. Consulte a instalação Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Azure PowerShell módulo Az.

Criar cluster

Aviso

A faturação dos clusters HDInsight é prostimada por minuto, quer os utilize ou não. Certifique-se de que apaga o seu cluster depois de terminar de o utilizar. Veja como eliminar um cluster HDInsight.

Para criar um cluster HDInsight utilizando Azure PowerShell, deve completar os seguintes procedimentos:

  • Criar um grupo de recursos Azure
  • Criar uma conta de Armazenamento do Azure
  • Criar um recipiente Azure Blob
  • Criar um cluster do HDInsight

Nota

A utilização do PowerShell para criar um cluster HDInsight com Azure Data Lake Storage Gen2 não é suportada atualmente.

O seguinte script demonstra como criar um novo 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
$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"

# Default cluster size (# of worker nodes), version, type, and OS
$clusterSizeInNodes = "4"
$clusterVersion = "3.6"
$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 `
    -DefaultStorageAccountName "$defaultStorageAccountName.blob.core.windows.net" `
    -DefaultStorageAccountKey $defaultStorageAccountKey `
    -DefaultStorageContainer $clusterName `
    -SshCredential $sshCredentials

Os valores especificados para o login do cluster são utilizados para criar a conta de utilizador Hadoop para o cluster. Utilize esta conta para ligar aos serviços alojados no cluster, tais como UIs web ou REST APIs.

Os valores especificados para o utilizador SSH são utilizados para criar o utilizador SSH para o cluster. Use esta conta para iniciar uma sessão remota de SSH no cluster e executar empregos. Para obter mais informações, veja o documento Utilizar SSH com o HDInsight.

Importante

Se pretender utilizar mais de 32 nós de trabalhadores (quer na criação de clusters, quer através da escala do cluster após a criação), também deve especificar um tamanho do nó de cabeça com pelo menos 8 núcleos e 14 GB de RAM.

Para obter mais informações sobre tamanhos de nós e custos associados, veja os preços do HDInsight.

Pode levar até 20 minutos para criar um cluster.

Criar cluster: Objeto de configuração

Também pode criar um objeto de configuração HDInsight utilizando New-AzHDInsightClusterConfig cmdlet. Em seguida, pode modificar este objeto de configuração para permitir opções de configuração adicionais para o seu cluster. Finalmente, utilize o -Config parâmetro do New-AzHDInsightCluster cmdlet para utilizar a configuração.

Personalizar clusters

Eliminar o cluster

Aviso

A faturação dos clusters HDInsight é prostimada por minuto, quer os utilize ou não. Certifique-se de que apaga o seu cluster depois de terminar de o utilizar. Veja como eliminar um cluster HDInsight.

Resolução de problemas

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

Passos seguintes

Agora que criou com sucesso um cluster HDInsight, use os seguintes recursos para aprender a trabalhar com o seu cluster.

Aglomerados apache Hadoop

Aglomerados Apache HBase

Aglomerados de faíscas apache