Udostępnij za pośrednictwem


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

  1. Zaloguj się w witrynie Azure Portal.

  2. Wybierz swoje konta usługi Automation.

  3. W obszarze Udostępnione zasoby wybierz pozycję Galeria modułów.

  4. Wprowadź ciąg AzureRM.Profile w polu i wybierz Enter, aby wyszukać. Wybierz dostępny wynik wyszukiwania.

  5. Na ekranie AzureRM.profile wybierz pozycję Importuj. Zaznacz pole wyboru, aby zaktualizować moduły platformy Azure, a następnie wybierz przycisk OK.

    Zrzut ekranu przedstawiający importowanie modułu AzureRM.profile.

  6. Wróć do galerii modułów. W obszarze Udostępnione zasoby wybierz pozycję Galeria modułów.

  7. Wprowadź wartość HDInsight, a następnie wybierz pozycję AzureRM.HDInsight.

    Zrzut ekranu przedstawiający przeglądanie modułów usługi HDInsight.

  8. W okienku AzureRM.HDInsight wybierz pozycję Importuj >ok.

    Zrzut ekranu przedstawiający komunikat importowania modułu AzureRM.HDInsight.

Tworzenie poświadczeń

  1. W obszarze Udostępnione zasoby wybierz pozycję Poświadczenia.

  2. Wybierz pozycję Dodaj poświadczenia.

  3. 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
  4. Wybierz pozycję Utwórz.

  5. 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.

    Zrzut ekranu przedstawiający tworzenie nowego poświadczenia.

Tworzenie elementu Runbook w celu utworzenia klastra

  1. W obszarze Automatyzacja procesów wybierz pozycję Elementy Runbook.

  2. Wybierz pozycję Utwórz element Runbook.

  3. W okienku Tworzenie elementu Runbook wprowadź nazwę elementu Runbook , na przykład hdinsight-cluster-create. Wybierz pozycję PowerShell z listy rozwijanej Typ elementu Runbook.

  4. Wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający tworzenie elementu Runbook.

  5. Wprowadź następujący kod na ekranie Edytowanie elementu Runbook programu PowerShell, a następnie wybierz pozycję Publikuj.

    Zrzut ekranu przedstawiający publikowanie elementu Runbook.

    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

  1. W obszarze Automatyzacja procesów wybierz pozycję Elementy Runbook.

  2. Wybierz pozycję Utwórz element Runbook.

  3. W okienku Tworzenie elementu Runbook wprowadź nazwę elementu Runbook , na przykład hdinsight-cluster-delete. Wybierz pozycję PowerShell z listy rozwijanej Typ elementu Runbook.

  4. Wybierz pozycję Utwórz.

  5. 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

  1. Wyświetl listę elementów Runbook dla konta usługi Automation. W obszarze Automatyzacja procesów wybierz pozycję Elementy Runbook.

  2. Wybierz pozycję hdinsight-cluster-create lub nazwę użytą podczas tworzenia elementu Runbook tworzenia klastra.

  3. 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.

  4. 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 .

    Zrzut ekranu przedstawiający uruchamianie elementu Runbook klastra.

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ń.

Następny krok