Partilhar via


Criar clusters baseados em Linux no HDInsight usando o Azure PowerShell

O Azure PowerShell é um poderoso ambiente de script que você pode usar para controlar e automatizar a implantação e o gerenciamento de suas cargas de trabalho no Microsoft Azure. Este documento fornece informações sobre como criar um cluster HDInsight baseado em Linux usando o Azure PowerShell. Ele também inclui um script de exemplo.

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

Pré-requisitos

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Módulo Az do Azure PowerShell .

Criar cluster

Aviso

A cobrança de clusters HDInsight é rateada por minuto, quer você os use ou não. Certifique-se de excluir o cluster depois de terminar de usá-lo. Veja como excluir um cluster HDInsight.

Para criar um cluster HDInsight usando o Azure PowerShell, você deve concluir os seguintes procedimentos:

  • Criar um grupo de recursos do Azure
  • Criar uma conta de Armazenamento do Azure
  • Criar um contêiner de Blob do Azure
  • Criar um cluster do HDInsight

Nota

O uso do PowerShell para criar um cluster HDInsight com o Azure Data Lake Storage Gen2 não é suportado no momento.

O script a seguir 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

$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

Os valores especificados para o logon do cluster são usados para criar a conta de usuário do Hadoop para o cluster. Use essa conta para se conectar a serviços hospedados no cluster, como interfaces do usuário da Web ou APIs REST.

Os valores especificados para o usuário SSH são usados para criar o usuário SSH para o cluster. Use essa conta para iniciar uma sessão SSH remota no cluster e executar trabalhos. Para obter mais informações, veja o documento Utilizar SSH com o HDInsight.

Importante

Se você planeja usar mais de 32 nós de trabalho (na criação do cluster ou dimensionando o cluster após a criação), também deve especificar um tamanho de nó principal 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

Você também pode criar um objeto de configuração do HDInsight usando New-AzHDInsightClusterConfig cmdlet. Em seguida, você pode modificar esse objeto de configuração para habilitar opções de configuração adicionais para seu cluster. Por fim, use o -Config New-AzHDInsightCluster parâmetro do cmdlet para usar a configuração.

Personalizar clusters

Eliminar o cluster

Aviso

A cobrança de clusters HDInsight é rateada por minuto, quer você os use ou não. Certifique-se de excluir o cluster depois de terminar de usá-lo. Veja como excluir um cluster HDInsight.

Resolver problemas

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

Próximos passos

Agora que você criou com êxito um cluster HDInsight, use os recursos a seguir para saber como trabalhar com seu cluster.

Clusters Apache Hadoop

Clusters Apache HBase

Clusters do Apache Spark