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


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

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

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

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

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

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

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

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

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

  3. В разделе «Общие ресурсы» выберите Галерея модулей.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание инструкции по созданию кластера

  1. В разделе Автоматизация процессов выберите Runbooks.

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

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

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

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

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

    Снимок экрана: публикация модуля 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
    

Создайте руководство по удалению кластера.

  1. В разделе Автоматизация процессов выберите Runbooks.

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

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

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

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

    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
    

Запуск рунбуков

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

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

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

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

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

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

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

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

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

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

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

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