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
- Consulte Personalizar clusters HDInsight usando o Bootstrap.
- Consulte Personalizar clusters HDInsight usando a Ação de Script.
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
- Criar uma aplicação autónoma com o Scala
- Executar trabalhos remotamente em um cluster Apache Spark usando o Apache Livy
- Apache Spark com BI: execute análise de dados interativa usando o Spark no HDInsight com ferramentas de BI
- Apache Spark com Machine Learning: use o Spark no HDInsight para prever resultados de inspeção de alimentos