Управление кластерами Apache Hadoop в Azure HDInsight с помощью PowerShell
С помощью Azure PowerShell можно управлять развертыванием и управлением рабочими нагрузками в Azure и автоматизировать их развертывание и управление ими. В этой статье описано, как управлять кластерами Apache Hadoop в Azure HDInsight с помощью модуля Az PowerShell. Список командлетов HDInsight PowerShell см. в справочнике Az.HDInsight.
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Предварительные требования
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Установленный модуль Az PowerShell.
Создание кластеров
Сведения о создании кластеров см. в статье "Создание кластеров на основе Linux в HDInsight с помощью Azure PowerShell".
список кластеров
Чтобы вывести список всех кластеров в текущей подписке, выполните следующую команду:
Get-AzHDInsightCluster
Отображение кластеров
Чтобы отобразить сведения о конкретном кластере в текущей подписке, используйте следующую команду:
Get-AzHDInsightCluster -ClusterName <Cluster Name>
Удаление кластеров
Чтобы удалить кластер, используйте следующую команду:
Remove-AzHDInsightCluster -ClusterName <Cluster Name>
Можно также удалить кластер, удалив группу ресурсов, которая содержит этот кластер. При удалении группы ресурсов удаляются все ресурсы группы, включая учетную запись хранения по умолчанию.
Remove-AzResourceGroup -Name <Resource Group Name>
Масштабирование кластеров
Вы можете использовать функцию масштабирования кластера, чтобы изменить количество рабочих узлов, используемых кластером, работающим в HDInsight, без необходимости повторного создания кластера. Чтобы изменить размер кластера Hadoop с помощью PowerShell, выполните следующую команду на клиентском компьютере:
Set-AzHDInsightClusterSize -ClusterName <Cluster Name> -TargetInstanceCount <NewSize>
Подробнее о масштабировании кластеров см. в статье Масштабирование кластеров HDInsight.
Обновление учетных данных пользователя HTTP
Параметр Set-AzHDInsightGatewayCredential задает учетные данные HTTP шлюза кластера HDInsight.
$clusterName = "CLUSTERNAME"
$credential = Get-Credential -Message "Enter the HTTP username and password:" -UserName "admin"
Set-AzHDInsightGatewayCredential -ClusterName $clusterName -HttpCredential $credential
Поиск учетной записи хранения по умолчанию
В следующем сценарии PowerShell показано получение имени учетной записи хранения по умолчанию и связанной информации.
#Connect-AzAccount
$clusterName = "<HDInsight Cluster Name>"
$clusterInfo = Get-AzHDInsightCluster -ClusterName $clusterName
$storageInfo = $clusterInfo.DefaultStorageAccount.split('.')
$defaultStorageType = $storageInfo[1]
$defaultStorageName = $storageInfo[0]
echo "Default Storage account name: $defaultStorageName"
echo "Default Storage account type: $defaultStorageType"
if ($defaultStorageType -eq "blob")
{
$defaultBlobContainerName = $cluster.DefaultStorageContainer
$defaultStorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $defaultStorageAccountName)[0].Value
$defaultStorageAccountContext = New-AzStorageContext -StorageAccountName $defaultStorageAccountName -StorageAccountKey $defaultStorageAccountKey
echo "Default Blob container name: $defaultBlobContainerName"
echo "Default Storage account key: $defaultStorageAccountKey"
}
Поиск группы ресурсов
В режиме Azure Resource Manager каждый кластер HDInsight принадлежит группе ресурсов Azure. Чтобы найти группу ресурсов, используйте следующую команду:
$clusterName = "<HDInsight Cluster Name>"
$cluster = Get-AzHDInsightCluster -ClusterName $clusterName
$resourceGroupName = $cluster.ResourceGroup
Отправка заданий
Чтобы использовать следующие продукты для отправки заданий, следуйте инструкциям из ссылок:
- MapReduce: запуск примеров MapReduce, включенных в HDInsight
- Apache Hive: выполнение запросов Apache Hive с помощью PowerShell
- Apache Sqoop: использование Apache Sqoop с HDInsight
- Apache Oozie: использование Apache Oozie с Apache Hadoop для определения и запуска рабочего процесса в HDInsight
Отправка данных в Хранилище BLOB-объектов Azure
Сведения о передаче данных в Хранилище BLOB-объектов Azure см. в статье "Отправка данных в HDInsight".