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

配置目录

重要

此功能目前以预览版提供。 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://mysqlserver1.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 模板