Прочитать на английском

Поделиться через


Руководство. Создание кластеров Azure HDInsight с помощью службы автоматизации Azure

С помощью служба автоматизации Azure можно создавать скрипты, которые выполняются в облаке и управляют ресурсами Azure по запросу или на основе расписания. В этой статье описывается создание runbook с инструкциями PowerShell для создания и удаления кластеров Azure HDInsight.

В этом руководстве описано следующее:

  • Установка модулей, необходимых для взаимодействия с HDInsight.
  • Создание и сохранение учетных данных, которые потребуются при создании кластера.
  • Создайте модуль Runbook службы автоматизации для создания кластера HDInsight.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.

Необходимые компоненты

  • Существующая учетная запись службы автоматизации.
  • Существующая учетная запись служба хранилища Azure, которая может использоваться в качестве хранилища кластера.

Установка модулей HDInsight

  1. Войдите на портал Azure.

  2. Выберите учетные записи службы автоматизации.

  3. В разделе "Общие ресурсы" выберите коллекцию modules.

  4. Введите AzureRM.Profile в поле и нажмите клавишу ВВОД для поиска. Выберите полученный результат поиска.

  5. На экране AzureRM.profile щелкните Импортировать. Установите флажок для обновления модулей Azure и нажмите кнопку "ОК".

    Снимок экрана: импорт модуля AzureRM.profile.

  6. Вернитесь в коллекцию модулей. В разделе "Общие ресурсы" выберите коллекцию modules.

  7. Введите HDInsight и выберите AzureRM.HDInsight.

    Снимок экрана: просмотр модулей HDInsight.

  8. На панели AzureRM.HDInsight нажмите кнопку "Импорт>ОК".

    Снимок экрана: сообщение импорта для модуля AzureRM.HDInsight.

Создать учетные данные

  1. Выберите Учетные данные в разделе Общие ресурсы.

  2. Щелкните Добавить учетные данные.

  3. Введите необходимые сведения на панели "Создать учетные данные ". Эти учетные данные используются для хранения пароля кластера. Вы используете его для входа в Ambari.

    Свойство Значение
    Имя. cluster-password
    User name admin
    Пароль SECURE_PASSWORD
    Подтверждение пароля SECURE_PASSWORD
  4. Нажмите кнопку создания.

  5. Повторите тот же процесс для нового пароля ssh-password с именем пользователя sshuser и паролем вашего выбора. Нажмите кнопку создания. Эти учетные данные используются для хранения пароля протокола Secure Shell для кластера.

    Снимок экрана, на котором показано создание учетных данных.

Создание runbook, который создает кластер

  1. В разделе Автоматизация процессов щелкните Модули Runbook.

  2. Нажмите кнопку Создать Runbook.

  3. В области создания модуля Runbook введите имя модуля Runbook, например hdinsight-cluster-create. Выберите PowerShell из раскрывающегося списка типов Runbook.

  4. Нажмите кнопку создания.

    Снимок экрана: создание модуля Runbook.

  5. Введите следующий код на экране "Изменить Runbook PowerShell" и нажмите кнопку "Опубликовать".

    Снимок экрана: публикация модуля Runbook.

    PowerShell
    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
    

Создание runbook, который удаляет кластер

  1. В разделе Автоматизация процессов щелкните Модули Runbook.

  2. Нажмите кнопку Создать Runbook.

  3. В области создания модуля Runbook введите имя модуля Runbook, например hdinsight-cluster-delete. Выберите PowerShell из раскрывающегося списка типов Runbook.

  4. Нажмите кнопку создания.

  5. Введите следующий код на экране "Изменить Runbook PowerShell" и нажмите кнопку "Опубликовать".

    PowerShell
    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
    

Выполнение runbook

В этом разделе объясняется, как запускать модули Runbook.

Создание кластера

  1. Просмотрите список модулей Runbook для учетной записи службы автоматизации. В разделе Автоматизация процессов щелкните Модули Runbook.

  2. Выберите hdinsight-cluster-create или имя, которое вы использовали при создании модуля Runbook для создания кластера.

  3. Нажмите кнопку "Пуск ", чтобы запустить модуль Runbook немедленно. Вы также можете настроить периодическое выполнение runbook. Дополнительные сведения см. в разделе "Планирование модуля Runbook" в службе автоматизации.

  4. Введите необходимые параметры для скрипта и нажмите кнопку "ОК". На этом шаге создается новый кластер HDInsight с именем, указанным в параметре CLUSTERNAME .

    Снимок экрана: запуск модуля Runbook кластера.

Удаление кластера

Удалите кластер, выбрав созданный модуль Runbook hdinsight-cluster-delete . Нажмите кнопку "Пуск", введите параметр CLUSTERNAME и нажмите кнопку "ОК".

Очистка ресурсов

Если ресурс больше не нужен, удалите созданную учетную запись службы автоматизации, чтобы избежать непредвиденных расходов. Перейдите к портал Azure, выберите группу ресурсов, в которой вы создали учетную запись службы автоматизации, выберите учетную запись службы автоматизации и нажмите кнопку "Удалить".

Следующий шаг