Sdílet prostřednictvím


Vytváření clusterů založených na Linuxu ve službě HDInsight pomocí Azure PowerShellu

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 PowerShellu. Obsahuje také ukázkový skript.

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

Požadavky

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si 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.

Modul Az Azure PowerShellu

Vytvoření clusteru

Upozorňující

Fakturace clusterů HDInsight se účtuje za minutu bez ohledu na to, jestli je používáte, nebo ne. Až cluster dokončíte, nezapomeňte ho odstranit. Podívejte se, jak odstranit cluster HDInsight.

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

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

Poznámka:

Použití PowerShellu k vytvoření clusteru HDInsight s Azure Data Lake Storage Gen2 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 k 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. Pomocí tohoto účtu spusťte vzdálenou relaci SSH v clusteru a spusťte úlohy. 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 vytvář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

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

Přizpůsobení clusterů

Odstranění clusteru

Upozorňující

Fakturace clusterů HDInsight se účtuje za minutu bez ohledu na to, jestli je používáte, nebo ne. Až cluster dokončíte, nezapomeňte ho odstranit. Podívejte se, jak odstranit cluster HDInsight.

Odstraňování 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, se naučíte pracovat s clusterem pomocí následujících zdrojů informací.

Clustery Apache Hadoop

Clustery Apache HBase

Clustery Apache Spark