配置目录

重要

AKS 上的 Azure HDInsight 已于 2025 年 1 月 31 日停用。 了解此公告的详细信息

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

重要

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

默认情况下,每个 Trino 群集都有少量目录 - 系统、tpcds、tpch。 可以采用与 OSS Trino 相同的方式添加自己的目录。 此外,在 AKS 上使用 HDInsight 的 Trino 允许在 Key Vault 中存储机密,因此无需在 ARM 模板中显式指定机密。

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

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

先决条件

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

  1. 关联 Key Vault,并将机密添加到 secretsProfile 位于 clusterProfile 属性下。

    在此步骤中,需要确保为 Trino 群集配置 Key Vault 和机密。 在以下示例中,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. 将目录添加到 serviceConfigsProfiles 上,位于 clusterProfile 属性下。

    在此步骤中,需要将 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"
                         },
                     ]
                 }
             ]
         }
     ],
    

    属性

    财产 描述
    服务名称 trino
    元件 标识该部分配置目录,必须是“catalogs”。
    文件 要添加到群集的 Trino 目录文件的列表。
    文件名 要添加到群集的 Trino 目录文件的列表。
    内容 json 转义字符串以放入 trino 目录文件中。 此字符串应包含所有特定于三重项的目录属性,具体取决于使用的连接器类型。 有关详细信息,请参阅 OSS trino 文档。
    ${SECRET_REF:<referenceName>} 用于从 secretsProfile 引用机密的特殊标记。 运行时的 Trino 从 Key Vault 提取机密,并在目录配置中进行替换。
    价值, 价值观 可以使用内容属性将目录配置为单个字符串,并对于每个单独的 Trino 目录属性使用单独的键值对,就像内存目录所示那样。

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