Управление конфигурацией кластера
Примечание.
Мы отставим Azure HDInsight в AKS 31 января 2025 г. До 31 января 2025 г. необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого прекращения рабочих нагрузок. Оставшиеся кластеры в подписке будут остановлены и удалены из узла.
До даты выхода на пенсию будет доступна только базовая поддержка.
Внимание
Эта функция в настоящее время доступна для предварительного ознакомления. Дополнительные условия использования для предварительных версий Microsoft Azure включают более юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в статье Azure HDInsight в предварительной версии AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за нами для получения дополнительных обновлений в сообществе Azure HDInsight.
HDInsight в AKS позволяет настраивать свойства конфигурации для повышения производительности кластера с определенными параметрами. Например, параметры использования или памяти. Доступны следующие действия.
- Обновите существующие конфигурации или добавьте новые конфигурации.
- Экспорт конфигураций с помощью REST API.
Настройка конфигураций
Конфигурации можно настроить с помощью следующих параметров:
Используя портал Azure
Войдите на портал Azure.
В строке поиска портал Azure введите "HDInsight в кластере AKS" и выберите "Azure HDInsight в кластерах AKS" в раскрывающемся списке.
Выберите имя кластера на странице списка.
Перейдите в колонку "Управление конфигурацией" в меню слева.
В зависимости от типа кластера перечислены файлы конфигураций. Дополнительные сведения см. в конфигурациях Trino, Flink и Spark.
Добавьте новую или обновите существующую пару "ключ-значение" для конфигураций, которые требуется изменить.
Нажмите кнопку "ОК " и нажмите кнопку "Сохранить".
Примечание.
Для отражения изменений в некоторых изменениях конфигурации может потребоваться перезапуск службы.
Использование шаблона ARM
Необходимые компоненты
- Шаблон ARM для кластера.
- Знакомство с разработкой и развертыванием шаблонов ARM.
В шаблоне ARM можно изменить serviceConfigsProfiles и указать имя файла конфигурации OSS со значением, которое вы хотите перезаписать.
Если файл конфигурации OSS находится в формате JSON/XML/YAML, можно указать имя файла конфигурации OSS с помощью fileName
. Укажите пары значений ключей, которые необходимо перезаписать в "значения".
Ниже приведены некоторые примеры для каждой рабочей нагрузки:
Пример конфигурации Flink:
"serviceConfigsProfiles": [
{
"serviceName": "flink-operator",
"configs": [
{
"component": "flink-configs",
"files": [
{
"fileName": "flink-conf.yaml",
"values": {
"taskmanager.memory.process.size": "4096mb",
"classloader.check-leaked-classloader": "false",
"jobmanager.memory.process.size": "4096mb",
"classloader.parent-first-patterns.additional": "org.apache.parquet"
}
}
]
}
]
}
]
Пример конфигурации Spark:
"serviceConfigsProfiles": [
{
"serviceName": "spark-service",
"configs": [
{
"component": "livy-config",
"files": [
{
"fileName": "livy-client.conf",
"values": {
"livy.client.http.connection.timeout": "11s"
}
}
]
},
{
"component": "spark-config",
"files": [
{
"fileName": "spark-env.sh",
"content": "# - SPARK_HISTORY_OPTS, to set config properties only for the history server (e.g. \"-Dx=y\")\nexport HDP_VERSION=3.3.3.5.2-83515052\n"
}
]
}
]
}
]
Пример конфигурации Trino:
"serviceConfigsProfiles": [
{
"serviceName": "trino",
"configs": [
{
"component": "coordinator",
"files": [
{
"fileName": "config.properties",
"values": {
"query.cache.enabled": "true",
"query.cache.ttl": "1h",
"query.enable-multi-statement-set-session": "true",
"query.max-memory": "301GB"
}
},
{
"fileName": "log.properties",
"values": {
"io.trino": "INFO"
}
}
]
}
]
Дополнительные сведения о параметрах конфигурации Trino см. в примерах шаблонов ARM.
Экспорт конфигураций с помощью REST API
Вы также можете экспортировать конфигурации кластера для проверки значений по умолчанию и обновленных значений. В настоящее время можно экспортировать только конфигурации с помощью REST API.
Получение конфигураций кластера:
GET Request: /subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTERPOOL}}/clusters/{{CLUSTERNAME}}/serviceConfigs?api-version={{HDINSIGHTONAKS_API_VERSION}}
Если вы не знакомы с отправкой вызова REST API, выполните следующие действия.
Нажмите следующую кнопку в правом верхнем углу портал Azure, чтобы запустить Azure Cloud Shell.
Убедитесь, что Cloud Shell имеет значение PowerShell в левом верхнем углу. Выполните следующую команду, чтобы получить маркер и задать заголовки HTTP-запроса.
$azContext = Get-AzContext $azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile $profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile) $token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId) $authHeader = @{ 'Content-Type'='application/json' 'Authorization'='Bearer ' + $token.AccessToken }
Задайте для переменной $restUri URL-адрес запроса Get.
$restUri = 'https://management.azure.com/subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTERPOOL}}/clusters/{{CLUSTERNAME}}/serviceConfigs?api-version={{HDINSIGHTONAKS_API_VERSION}}'
Пример:
$restUri = 'https://management.azure.com/subscriptions/xxx-yyyy-zzz-00000/resourceGroups/contosoRG/providers/Microsoft.HDInsight/clusterpools/contosopool/clusters/contosocluster/serviceConfigs?api-version=2021-09-15-preview
Примечание.
Вы можете получить идентификатор ресурса и актуальную версию API из представления JSON кластера в портал Azure.
Отправьте запрос GET, выполнив следующую команду.
Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | ConvertTo-Json -Depth 10