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

配置目录

备注

我们将于 2025 年 1 月 31 日停用 Azure HDInsight on AKS。 在 2025 年 1 月 31 日之前,你需要将工作负荷迁移到 Microsoft Fabric 或同等的 Azure 产品,以避免工作负荷突然终止。 订阅上的剩余群集会被停止并从主机中移除。

在停用日期之前,仅提供基本支持。

重要

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

默认情况下,每个 Trino 群集都有少量目录 - 系统、tpcds、tpch。 你可以添加自己的目录,方法与添加 OSS Trino 相同。 此外,通过结合使用 Trino 和 HDInsight on AKS,可将机密存储在密钥保管库中,因此你不必在 ARM 模板中显式指定它们。

可以通过更新群集 ARM 模板来添加新目录(配置单元目录除外),可以在 Azure 门户中,在 Trino 群集创建期间添加该目录。

本文将演示如何使用 ARM 模板向群集添加新目录。 本文中的示例介绍了添加 SQL Server 和内存目录的步骤。

先决条件

在 ARM 模板中添加目录的步骤

  1. 附加密钥保管库并将机密添加到 clusterProfile 属性下的 secretsProfile 中。

    在此步骤中,需要确保为 Trino 群集配置密钥保管库和机密。 在以下示例中,SQL Server 凭据存储在以下机密中:trinotest-admin-user、trinotest-admin-pwd。

    "secretsProfile": {
        "keyVaultResourceId": "/subscriptions/{USER_SUBSCRIPTION_ID}/resourceGroups/{USER_RESOURCE_GROUP}/providers/Microsoft.KeyVault/vaults/{USER_KEYVAULT_NAME}",
        "secrets": [
            {
                "referenceName": "trinotest-admin-user",
                "keyVaultObjectName": "trinotest-admin-user",
                "type": "secret"
            },
            {
                "referenceName": "trinotest-admin-pwd",
                "keyVaultObjectName": "trinotest-admin-pwd",
                "type": "secret"
            }
        ]
    },
    
  2. 将目录添加到 clusterProfile 属性下的 serviceConfigsProfiles 中。

    在此步骤中,需要将特定于 Trino 的目录配置添加到群集。 以下示例使用内存和 SQL Server 连接器配置两个目录。 可以通过两种不同的方式指定目录配置:

    • 值部分中的键值对。
    • 内容属性中的单个字符串。

    内存目录是使用键值对定义的,SQL Server 目录是使用单字符串选项定义的。

     "serviceConfigsProfiles": [
         {
             "serviceName": "trino",
             "configs": [
                 {
                     "component": "catalogs",
                     "files": [
                             {
                             "fileName": "memory.properties",
                             "values": {
                                 "connector.name": "memory",
                                 "memory.max-data-per-node": "128MB"
                             }
                         },
                         {
                             "fileName": "trinotestdb1.properties",
                             "content":"connector.name=sqlserver\nconnection-url=jdbc:sqlserver://server-name.database.windows.net:1433;database=db1;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;\nconnection-user=${SECRET_REF:trinotest-admin-user}\nconnection-password=${SECRET_REF:trinotest-admin-pwd}\n"
                         },
                     ]
                 }
             ]
         }
     ],
    

    属性

    属性 说明
    serviceName trino
    component 标识该部分配置目录,必须是“目录”。
    files 要添加到群集的 Trino 目录文件的列表。
    filename 要添加到群集的 Trino 目录文件的列表。
    内容 json 转义字符串以放入 trino 目录文件中。 该字符串应包含所有特定于 trino 目录属性,这取决于所使用的连接器类型。 有关详细信息,请参阅 OSS trino 文档。
    ${SECRET_REF:<referenceName>} 用于从 secretsProfile 引用机密的特殊标记。 Trino 会在运行时从密钥保管库提取机密,并将其替换为目录配置。
    可以使用内容属性作为单个字符串来指定目录配置,并为每个单独的 Trino 目录属性使用单独的键值对,如内存目录所示。

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