你当前正在访问 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 门户

  1. 登录到 Azure 门户

  2. 在 Azure 门户搜索栏中,键入“HDInsight on AKS 群集”,然后从下拉列表中选择“Azure HDInsight on AKS 群集”。

    显示开始使用 AKS 上的 HDInsight 群集的搜索选项的屏幕截图。

  3. 从列表页面中选择你的群集名称。

    显示从列表中选择所需的 AKS 上 HDInsight 群集的屏幕截图。

  4. 转到左侧菜单中的“配置管理”边栏选项卡。

    显示“配置管理”选项卡的屏幕截图。

  5. 根据群集类型,将列出配置文件。 有关详细信息,请参阅 TrinoFlinkSpark 配置。

  6. 为要修改的配置添加新的或更新现有的键值对。

  7. 选择“确定”,然后单击“保存”。

注意

某些配置更改可能需要重启服务才能反映更改。

使用 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 调用,以下步骤可帮助你。

  1. 单击 Azure 门户右上角的以下按钮来启动 Azure Cloud Shell。

    显示 Cloud Shell 图标的屏幕截图。

  2. 确保在左上角将 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
    }
    
  3. 将 $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 版本。

    查看成本 JSON 视图按钮的屏幕截图。

  4. 通过执行以下命令发送 GET 请求。

    Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | ConvertTo-Json -Depth 10