你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
管理群集配置
重要
此功能目前以预览版提供。 Microsoft Azure 预览版的补充使用条款包含适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的更多法律条款。 有关此特定预览版的信息,请参阅 Azure HDInsight on AKS 预览版信息。 如有疑问或功能建议,请在 AskHDInsight 上提交请求并附上详细信息,并关注我们以获取 Azure HDInsight Community 的更多更新。
使用 HDInsight on AKS,可以调整配置属性来提高具有特定设置的群集的性能。 例如,使用情况或内存设置。 可以执行以下操作:
- 更新现有配置或添加新配置。
- 使用 REST API 导出配置。
自定义配置
可以使用以下选项自定义配置:
使用 Azure 门户
登录到 Azure 门户。
在 Azure 门户搜索栏中,键入“HDInsight on AKS 群集”,然后从下拉列表中选择“Azure HDInsight on AKS 群集”。
从列表页面中选择你的群集名称。
转到左侧菜单中的“配置管理”边栏选项卡。
为要修改的配置添加新的或更新现有的键值对。
选择“确定”,然后单击“保存”。
注意
某些配置更改可能需要重启服务才能反映更改。
使用 ARM 模板
先决条件
- 群集的 ARM 模板。
- 熟悉 ARM 模板创作和部署。
在 ARM 模板中,可以编辑 serviceConfigsProfiles,并使用要覆盖的值指定 OSS 配置文件名称。
如果 OSS 配置文件采用 JSON/XML/YAML 格式,则可以通过 fileName
提供 OSS 配置文件名称。 提供要在“values”中覆盖的键值对。
下面是每个工作负载的一些示例:
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”。
$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
注意
可以从 Microsoft Azure 门户中群集的“JSON 视图”获取资源 ID 和最新 API 版本。
通过执行以下命令发送 GET 请求。
Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | ConvertTo-Json -Depth 10