配置目录
重要
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 和内存目录的步骤。
先决条件
- 在 AKS 上运行的带有 HDInsight 的 Trino 群集。
- Azure SQL 数据库。
- Azure SQL Server 登录名/密码存储在密钥保管库机密中,并且附加到 Trino 群集的用户分配托管服务标识 (MSI) 被授予读取这些信息的权限。 参见 在 Key Vault 中存储凭据,并将角色分配给 MSI。
- 为群集创建 ARM 模板。
- 熟悉 ARM 模板创作和部署。
- 查看完整的群集 ARM 模板示例 arm-trino-catalog-sample.json。
在 ARM 模板中添加目录的步骤
关联 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" } ] },
将目录添加到
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 模板。