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


Управление кластерами Apache Hadoop в Azure HDInsight с помощью PowerShell

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

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

Prerequisites

Note

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать, ознакомьтесь с разделом Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az 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

Отправка заданий

Чтобы использовать следующие продукты для отправки заданий, следуйте инструкциям из ссылок:

Отправка данных в Хранилище BLOB-объектов Azure

Сведения о передаче данных в хранилище BLOB-объектов Azure см. в статье "Отправка данных в HDInsight".