你当前正在访问 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 和内存目录的步骤。
先决条件
- 一个正常运行的使用 HDInsight on AKS 的 Trino 群集。
- Azure SQL 数据库。
- Azure SQL 服务器登录名/密码存储在密钥保管库机密中,附加到 Trino 群集的用户分配的 MSI 有权读取它们。 请参阅在密钥保管库中存储凭据和向 MSI 分配角色。
- 为群集创建 ARM 模板。
- 熟悉 ARM 模板创作和部署。
- 查看完整的群集 ARM 模板示例 arm-trino-catalog-sample.json。
在 ARM 模板中添加目录的步骤
附加密钥保管库并将机密添加到
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" } ] },
将目录添加到
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 模板。