Vytváření linuxových clusterů ve službě HDInsight pomocí Azure PowerShell

Azure PowerShell je výkonné skriptovací prostředí, které můžete použít k řízení a automatizaci nasazení a správy úloh v Microsoft Azure. Tento dokument obsahuje informace o tom, jak vytvořit cluster HDInsight se systémem Linux pomocí Azure PowerShell. Obsahuje také ukázkový skript.

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Požadavky

Poznámka

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Azure PowerShell modul Az.

Vytvoření clusteru

Upozornění

Fakturace za clustery HDInsight se účtuje po minutách bez ohledu na to, jestli je používáte, nebo ne. Po dokončení používání clusteru nezapomeňte odstranit. Přečtěte si , jak odstranit cluster HDInsight.

Pokud chcete vytvořit cluster HDInsight pomocí Azure PowerShell, musíte provést následující postupy:

  • Vytvoření skupiny prostředků Azure
  • Vytvoření účtu Azure Storage
  • Vytvoření kontejneru objektů blob Azure
  • Vytvoření clusteru HDInsight

Poznámka

Vytvoření clusteru HDInsight s Azure Data Lake Storage Gen2 pomocí PowerShellu se v současné době nepodporuje.

Následující skript ukazuje, jak vytvořit nový 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

Hodnoty, které zadáte pro přihlášení ke clusteru, se použijí k vytvoření uživatelského účtu Hadoop pro cluster. Tento účet použijte pro připojení ke službám hostovaným v clusteru, jako jsou webová uživatelská rozhraní nebo rozhraní REST API.

Hodnoty, které zadáte pro uživatele SSH, se použijí k vytvoření uživatele SSH pro cluster. Tento účet použijte ke spuštění vzdálené relace SSH v clusteru a spouštění úloh. Další informace najdete v dokumentu Použití SSH se službou HDInsight.

Důležité

Pokud plánujete používat více než 32 pracovních uzlů (buď při vytvoření clusteru, nebo škálováním clusteru po vytvoření), musíte také zadat velikost hlavního uzlu s alespoň 8 jádry a 14 GB paměti RAM.

Další informace o velikostech uzlů a souvisejících nákladech najdete v cenách pro HDInsight.

Vytvoření clusteru může trvat až 20 minut.

Vytvoření clusteru: Objekt konfigurace

Objekt konfigurace HDInsight můžete vytvořit také pomocí New-AzHDInsightClusterConfig rutiny . Potom můžete tento objekt konfigurace upravit a povolit tak další možnosti konfigurace pro váš cluster. Nakonec použijte -Config parametr rutiny New-AzHDInsightCluster a použijte konfiguraci.

Přizpůsobení clusterů

Odstranění clusteru

Upozornění

Fakturace za clustery HDInsight se účtuje po minutách bez ohledu na to, jestli je používáte, nebo ne. Po dokončení používání clusteru nezapomeňte odstranit. Přečtěte si , jak odstranit cluster HDInsight.

Řešení potíží

Pokud narazíte na problémy s vytvářením clusterů HDInsight, podívejte se na požadavky na řízení přístupu.

Další kroky

Teď, když jste úspěšně vytvořili cluster HDInsight, použijte následující zdroje informací k tomu, jak s clusterem pracovat.

Clustery Apache Hadoop

Clustery Apache HBase

Clustery Apache Spark