你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用杂项文件

重要

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

本文提供了有关如何指定和使用杂项文件配置的详细信息。

可以使用 ARM 模板在群集中添加使用杂项文件的配置。 有关更广泛的示例,请参阅服务配置

先决条件

添加杂项文件

ARM 模板中clusterProfile.serviceConfigsProfilesmiscfiles组件中的每个文件规范都需要:

  • fileName:用作其他配置中引用的文件的符号名称。 此名称不是物理文件名。 要在其他配置中使用给定杂项文件,请指定 ${MISC:\<fileName\>},HDInsight on AKS 会在运行时将此标记替换为实际文件路径,提供的值必须满足以下条件:

    • 包含不超过 253 个字符
    • 仅包含小写字母数字字符、-.
    • 以字母数字字符开头和结尾
  • path:相对文件路径,包括文件名和扩展名(如果适用)。 结合使用 Trino 和 HDInsight on AKS 仅保证每个给定杂项文件相对于其他杂文件的位置,即基目录可能会更改。 不能假设任何关于杂项文件的绝对路径,除非它以“路径”属性中指定的值结尾。

  • content:包含文件内容的 JSON 转义字符串。 内容的格式特定于某些 Trino 功能,并且可能会有所不同,例如资源组的 json。

注意

配置不当可能会阻止 Trino 群集启动。 在添加配置时要小心。

以下示例演示了

  • 添加示例资源组 json,并配置协调器以使用它。
"serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "common",
                "files": [
                    {
                        "fileName": "resource-groups.properties",
                        "values": {
                            "resource-groups.configuration-manager": "file",
                            "resource-groups.config-file": "${MISC:resource-groups}"
                        }                                            
                    }
                ]
            },
            {
                "component": "miscfiles",
                "files": [
                    {
                        "fileName": "resource-groups",
                        "path": "/customDir/resource-groups.json",
                        "content": "{\"rootGroups\":[{\"name\":\"global\",\"softMemoryLimit\":\"80%\",\"hardConcurrencyLimit\":100,\"maxQueued\":1000,\"schedulingPolicy\":\"weighted\",\"jmxExport\":true,\"subGroups\":[{\"name\":\"data_definition\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":5,\"maxQueued\":100,\"schedulingWeight\":1},{\"name\":\"adhoc\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":50,\"maxQueued\":1,\"schedulingWeight\":10,\"subGroups\":[{\"name\":\"other\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":2,\"maxQueued\":1,\"schedulingWeight\":10,\"schedulingPolicy\":\"weighted_fair\",\"subGroups\":[{\"name\":\"${USER}\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":1,\"maxQueued\":100}]}]}]},{\"name\":\"admin\",\"softMemoryLimit\":\"100%\",\"hardConcurrencyLimit\":50,\"maxQueued\":100,\"schedulingPolicy\":\"query_priority\",\"jmxExport\":true}],\"selectors\":[{\"group\":\"global.adhoc.other.${USER}\"}],\"cpuQuotaPeriod\":\"1h\"}"
                    }
                ]
            }
        ]
    }

部署更新的 ARM 模板以反映群集中的更改。 了解如何部署 ARM 模板