管理群集配置

重要

AKS 上的 Azure HDInsight 已于 2025 年 1 月 31 日停用。 通过此公告 了解更多信息

需要将工作负荷迁移到 Microsoft Fabric 或等效的 Azure 产品,以避免工作负荷突然终止。

重要

此功能目前以预览版提供。 Microsoft Azure 预览版补充使用条款 包括适用于 beta 版、预览版或尚未正式发布的 Azure 功能的更多法律条款。 有关此特定预览版的信息,请参阅 AKS 预览版信息的 Azure HDInsight。 有关问题或功能建议,请在 AskHDInsight 上提交请求,并提供详细信息。关注我们以获取有关 Azure HDInsight 社区的更多更新。

使用 AKS 上的 HDInsight,可以调整配置属性以提高具有特定设置的群集的性能。 例如,使用情况或内存设置。 您可以执行以下操作:

  • 更新现有配置或添加新配置。
  • 使用 REST API 导出配置。

自定义配置

可以使用以下选项自定义配置:

使用 Azure 门户

  1. 登录 Azure 门户

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

    屏幕截图,显示 AKS 群集上的 HDInsight 入门的搜索选项。

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

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

  4. 转到左侧菜单中的“配置管理”页面。

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

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

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

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

注意

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

使用 ARM 模板

先决条件

在 ARM 模板中,可以编辑 serviceConfigsProfiles,并使用要覆盖的值指定 OSS 配置文件名称。

如果 OSS 配置文件采用 JSON/XML/YAML 格式,可以通过 fileName提供 OSS 配置文件名称。 提供要在“值”中覆盖的键值对。

下面是每个工作负荷的一些示例:

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

    注意

    可以从 Azure 门户中群集的“JSON 视图”中查找资源 ID 和 up-to-date api-version。

    屏幕截图视图成本 JSON 视图按钮。

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

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