Samouczek: tworzenie klastrów usługi Azure HDInsight za pomocą usługi Azure Automation
Usługa Azure Automation umożliwia tworzenie skryptów uruchamianych w chmurze i zarządzanie zasobami platformy Azure na żądanie lub na podstawie harmonogramu. W tym artykule opisano sposób tworzenia elementów Runbook programu PowerShell w celu tworzenia i usuwania klastrów usługi Azure HDInsight.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Zainstaluj moduły niezbędne do interakcji z usługą HDInsight.
- Tworzenie i przechowywanie poświadczeń wymaganych podczas tworzenia klastra.
- Utwórz nowy element Runbook automatyzacji, aby utworzyć klaster usługi HDInsight.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
- Istniejące konto usługi Automation.
- Istniejące konto usługi Azure Storage, które może być używane jako magazyn klastra.
Instalowanie modułów usługi HDInsight
Zaloguj się w witrynie Azure Portal.
Wybierz swoje konta usługi Automation.
W obszarze Udostępnione zasoby wybierz pozycję Galeria modułów.
Wprowadź ciąg AzureRM.Profile w polu i wybierz Enter, aby wyszukać. Wybierz dostępny wynik wyszukiwania.
Na ekranie AzureRM.profile wybierz pozycję Importuj. Zaznacz pole wyboru, aby zaktualizować moduły platformy Azure, a następnie wybierz przycisk OK.
Wróć do galerii modułów. W obszarze Udostępnione zasoby wybierz pozycję Galeria modułów.
Wprowadź wartość HDInsight, a następnie wybierz pozycję AzureRM.HDInsight.
W okienku AzureRM.HDInsight wybierz pozycję Importuj >ok.
Tworzenie poświadczeń
W obszarze Udostępnione zasoby wybierz pozycję Poświadczenia.
Wybierz pozycję Dodaj poświadczenia.
Wprowadź wymagane informacje w okienku Nowe poświadczenia . To poświadczenie służy do przechowywania hasła klastra. Służy do logowania się do systemu Ambari.
Właściwości Wartość Nazwisko cluster-password
User name admin
Hasło SECURE_PASSWORD
Potwierdź hasło SECURE_PASSWORD
Wybierz pozycję Utwórz.
Powtórz ten sam proces dla nowego hasła ssh-password poświadczeń przy użyciu nazwy użytkownika sshuser i wybranego hasła. Wybierz pozycję Utwórz. To poświadczenie służy do przechowywania hasła protokołu Secure Shell dla klastra.
Tworzenie elementu Runbook w celu utworzenia klastra
W obszarze Automatyzacja procesów wybierz pozycję Elementy Runbook.
Wybierz pozycję Utwórz element Runbook.
W okienku Tworzenie elementu Runbook wprowadź nazwę elementu Runbook , na przykład hdinsight-cluster-create. Wybierz pozycję PowerShell z listy rozwijanej Typ elementu Runbook.
Wybierz pozycję Utwórz.
Wprowadź następujący kod na ekranie Edytowanie elementu Runbook programu PowerShell, a następnie wybierz pozycję Publikuj.
Param ( [Parameter (Mandatory= $true)] [String] $subscriptionID, [Parameter (Mandatory= $true)] [String] $resourceGroup, [Parameter (Mandatory= $true)] [String] $storageAccount, [Parameter (Mandatory= $true)] [String] $containerName, [Parameter (Mandatory= $true)] [String] $clusterName ) ### Authenticate to Azure $Conn = Get-AutomationConnection -Name 'AzureRunAsConnection' Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint # Set cluster variables $storageAccountKey = (Get-AzureRmStorageAccountKey –Name $storageAccount –ResourceGroupName $resourceGroup)[0].value # Setting cluster credentials #Automation credential for Cluster Admin $clusterCreds = Get-AutomationPSCredential –Name 'cluster-password' #Automation credential for user to SSH into cluster $sshCreds = Get-AutomationPSCredential –Name 'ssh-password' $clusterType = "Hadoop" #Use any supported cluster type (Hadoop, HBase, etc.) $clusterOS = "Linux" $clusterWorkerNodes = 3 $clusterNodeSize = "Standard_D3_v2" $location = Get-AzureRmStorageAccount –StorageAccountName $storageAccount –ResourceGroupName $resourceGroup | %{$_.Location} ### Provision HDInsight cluster New-AzureRmHDInsightCluster –ClusterName $clusterName –ResourceGroupName $resourceGroup –Location $location –DefaultStorageAccountName "$storageAccount.blob.core.windows.net" –DefaultStorageAccountKey $storageAccountKey -DefaultStorageContainer $containerName –ClusterType $clusterType –OSType $clusterOS –Version “3.6” –HttpCredential $clusterCreds –SshCredential $sshCreds –ClusterSizeInNodes $clusterWorkerNodes –HeadNodeSize $clusterNodeSize –WorkerNodeSize $clusterNodeSize
Tworzenie elementu Runbook w celu usunięcia klastra
W obszarze Automatyzacja procesów wybierz pozycję Elementy Runbook.
Wybierz pozycję Utwórz element Runbook.
W okienku Tworzenie elementu Runbook wprowadź nazwę elementu Runbook , na przykład hdinsight-cluster-delete. Wybierz pozycję PowerShell z listy rozwijanej Typ elementu Runbook.
Wybierz pozycję Utwórz.
Wprowadź następujący kod na ekranie Edytowanie elementu Runbook programu PowerShell, a następnie wybierz pozycję Publikuj.
Param ( [Parameter (Mandatory= $true)] [String] $clusterName ) ### Authenticate to Azure $Conn = Get-AutomationConnection -Name 'AzureRunAsConnection' Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint Remove-AzureRmHDInsightCluster -ClusterName $clusterName
Uruchamianie elementów Runbook
W tej sekcji opisano sposób uruchamiania elementów Runbook.
Tworzenie klastra
Wyświetl listę elementów Runbook dla konta usługi Automation. W obszarze Automatyzacja procesów wybierz pozycję Elementy Runbook.
Wybierz pozycję hdinsight-cluster-create lub nazwę użytą podczas tworzenia elementu Runbook tworzenia klastra.
Wybierz pozycję Uruchom, aby natychmiast uruchomić element Runbook. Można również zaplanować uruchamianie elementów Runbook okresowo. Aby uzyskać więcej informacji, zobacz Planowanie elementu Runbook w usłudze Automation.
Wprowadź wymagane parametry skryptu, a następnie wybierz przycisk OK. W tym kroku zostanie utworzony nowy klaster usługi HDInsight o nazwie określonej w parametrze CLUSTERNAME .
Usuwanie klastra
Usuń klaster, wybierając utworzony element runbook hdinsight-cluster-delete . Wybierz pozycję Start, wprowadź parametr CLUSTERNAME i wybierz przycisk OK.
Czyszczenie zasobów
Gdy zasób nie jest już potrzebny, usuń utworzone konto usługi Automation, aby uniknąć niezamierzonych opłat. Przejdź do witryny Azure Portal, wybierz grupę zasobów, w której utworzono konto usługi Automation, wybierz konto usługi Automation, a następnie wybierz pozycję Usuń.