Udostępnij za pośrednictwem


Tworzenie klastrów opartych na systemie Linux w usłudze HDInsight przy użyciu programu Azure PowerShell

Azure PowerShell to zaawansowane środowisko skryptowe, za pomocą którego można kontrolować i automatyzować wdrażanie obciążeń i zarządzanie nimi na platformie Microsoft Azure. Ten dokument zawiera informacje o sposobie tworzenia klastra usługi HDInsight opartego na systemie Linux przy użyciu programu Azure PowerShell. Zawiera również przykładowy skrypt.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Moduł Az programu Azure PowerShell .

Tworzenie klastra

Ostrzeżenie

Rozliczenia dla klastrów usługi HDInsight są naliczane proporcjonalnie na minutę, niezależnie od tego, czy są używane. Pamiętaj, aby usunąć klaster po zakończeniu korzystania z niego. Zobacz , jak usunąć klaster usługi HDInsight.

Aby utworzyć klaster usługi HDInsight przy użyciu programu Azure PowerShell, należy wykonać następujące procedury:

  • Tworzenie grupy zasobów platformy Azure
  • Tworzenie konta usługi Azure Storage
  • Tworzenie kontenera obiektów blob platformy Azure
  • Tworzenie klastra HDInsight

Uwaga

Tworzenie klastra usługi HDInsight za pomocą programu PowerShell z usługą Azure Data Lake Storage Gen2 nie jest obecnie obsługiwane.

Poniższy skrypt pokazuje, jak utworzyć nowy klaster:

# 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

Wartości określone dla logowania klastra są używane do tworzenia konta użytkownika usługi Hadoop dla klastra. Użyj tego konta, aby nawiązać połączenie z usługami hostowanymi w klastrze, takimi jak internetowe interfejsy użytkownika lub interfejsy API REST.

Wartości określone dla użytkownika SSH są używane do tworzenia użytkownika SSH dla klastra. Użyj tego konta, aby uruchomić zdalną sesję SSH w klastrze i uruchomić zadania. Aby uzyskać więcej informacji, zobacz dokument Używanie protokołu SSH w usłudze HDInsight.

Ważne

Jeśli planujesz używać więcej niż 32 węzłów roboczych (w ramach tworzenia klastra lub przez skalowanie klastra po utworzeniu), należy również określić rozmiar węzła głównego z co najmniej 8 rdzeniami i 14 GB pamięci RAM.

Aby uzyskać więcej informacji o rozmiarach węzła i powiązanych kosztach, zobacz Cennik usługi HDInsight.

Utworzenie klastra może potrwać do 20 minut.

Tworzenie klastra: obiekt konfiguracji

Możesz również utworzyć obiekt konfiguracji usługi HDInsight przy użyciu New-AzHDInsightClusterConfig polecenia cmdlet . Następnie można zmodyfikować ten obiekt konfiguracji, aby włączyć dodatkowe opcje konfiguracji dla klastra. Na koniec użyj -Config parametru New-AzHDInsightCluster polecenia cmdlet, aby użyć konfiguracji.

Dostosowywanie klastrów

Usuwanie klastra

Ostrzeżenie

Rozliczenia dla klastrów usługi HDInsight są naliczane proporcjonalnie na minutę, niezależnie od tego, czy są używane. Pamiętaj, aby usunąć klaster po zakończeniu korzystania z niego. Zobacz , jak usunąć klaster usługi HDInsight.

Rozwiązywanie problemów

W razie problemów podczas tworzenia klastrów usługi HDInsight zapoznaj się z wymaganiami dotyczącymi kontroli dostępu.

Następne kroki

Po pomyślnym utworzeniu klastra usługi HDInsight użyj następujących zasobów, aby dowiedzieć się, jak pracować z klastrem.

Klastry Apache Hadoop

Klastry Apache HBase

Klastry Apache Spark