Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
С помощью служба автоматизации Azure можно создавать скрипты, которые выполняются в облаке и управляют ресурсами Azure по запросу или на основе расписания. В этой статье описывается создание runbook с инструкциями PowerShell для создания и удаления кластеров Azure HDInsight.
В этом руководстве описано следующее:
- Установка модулей, необходимых для взаимодействия с HDInsight.
- Создание и сохранение учетных данных, которые потребуются при создании кластера.
- Создайте модуль Runbook службы автоматизации для создания кластера HDInsight.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Необходимые компоненты
- Существующая учетная запись службы автоматизации.
- Существующая учетная запись Azure Storage, которая может использоваться как хранилище кластера.
Установка модулей HDInsight
Войдите на портал Azure.
Выберите учетные записи службы автоматизации.
В разделе «Общие ресурсы» выберите Галерея модулей.
Введите AzureRM.Profile в поле и нажмите ввод для поиска. Выберите полученный результат поиска.
На экране AzureRM.profile щелкните Импортировать. Установите флажок для обновления модулей Azure и нажмите кнопку "ОК".
Вернитесь в коллекцию модулей. В разделе Общие ресурсы выберите галерею модулей.
Введите HDInsight и выберите AzureRM.HDInsight.
На панели AzureRM.HDInsight нажмите кнопку "Импорт>ОК".
Создать учетные данные
Выберите Учетные данные в разделе Общие ресурсы.
Щелкните Добавить учетные данные.
Введите необходимые сведения на панели "Создать учетные данные ". Эти учетные данные используются для хранения пароля кластера. Вы используете его для входа в Ambari.
Свойство Значение Имя. cluster-password
Имя пользователя admin
Пароль SECURE_PASSWORD
Подтверждение пароля SECURE_PASSWORD
Нажмите кнопку создания.
Повторите тот же процесс для нового пароля ssh-password с именем пользователя sshuser и паролем вашего выбора. Нажмите кнопку создания. Эти учетные данные используются для хранения пароля протокола Secure Shell для кластера.
Создание инструкции по созданию кластера
В разделе Автоматизация процессов выберите Runbooks.
Нажмите кнопку Создать Runbook.
На панели создания runbook введите имя для runbook, например, hdinsight-cluster-create. Выберите PowerShell из раскрывающегося списка типов Runbook.
Нажмите кнопку создания.
Введите следующий код на экране "Изменить 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
Создайте руководство по удалению кластера.
В разделе Автоматизация процессов выберите Runbooks.
Нажмите кнопку Создать Runbook.
В области создания модуля Runbook введите имя модуля Runbook, например hdinsight-cluster-delete. Выберите PowerShell из выпадающего списка типа Runbook.
Нажмите кнопку создания.
Введите следующий код в экране "Изменить 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.
Создание кластера
Просмотрите список рабочих книг для вашей учетной записи автоматизации. В разделе Автоматизация процессов щелкните Модули Runbook.
Выберите hdinsight-cluster-create или имя, которое вы использовали при создании модуля Runbook для создания кластера.
Нажмите кнопку "Пуск ", чтобы запустить модуль Runbook немедленно. Вы также можете запланировать периодическое выполнение сценариев runbook. Дополнительные сведения см. в разделе "Планирование модуля Runbook" в службе автоматизации.
Введите необходимые параметры для скрипта и нажмите кнопку "ОК". На этом шаге создается новый кластер HDInsight с именем, указанным в параметре CLUSTERNAME .
Удаление кластера
Удалите кластер, выбрав Runbook hdinsight-cluster-delete, который вы создали. Нажмите кнопку "Пуск", введите параметр CLUSTERNAME и нажмите кнопку "ОК".
Очистка ресурсов
Если ресурс больше не нужен, удалите созданную учетную запись службы автоматизации, чтобы избежать непредвиденных расходов. Перейдите к портал Azure, выберите группу ресурсов, в которой вы создали учетную запись службы автоматизации, выберите учетную запись службы автоматизации и нажмите кнопку "Удалить".