资源先决条件

重要

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

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

重要

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

本文详细介绍 AKS 上的 HDInsight 入门所需的资源。 它涵盖了必要的和可选的资源,以及如何创建它们。

必要的资源

下表描述了基于群集类型创建群集所需的必要资源。

工作量 托管服务标识(MSI) 存储 SQL Server - SQL 数据库 密钥库
Trino
Flink
火花
Trino、Flink 或 Spark 与 Hive Metastore (HMS) 配合使用

备注

MSI 用作跨资源(SQL 数据库除外)进行身份验证和授权的安全标准。 角色分配在部署之前进行,以授权 MSI 访问存储,并将机密存储在用于 SQL 数据库的 Key Vault 中。 存储支持与 ADLS Gen2 配合使用,并用作计算引擎的数据存储,SQL 数据库用于 Hive 元存储上的表管理。

可选资源

备注

  • VNet 需要子网,而无需与它关联的任何现有路由表。
  • 借助 AKS 上的 HDInsight,可以自带 VNet 和子网,从而自定义 网络要求 ,以满足企业的需求。
  • Log Analytics 工作区是可选的,如果想要使用 Azure Log Analytics 等 Azure Monitor 功能,则需要提前创建。

可以通过两种方式创建必要的资源:

使用 ARM 模板

以下 ARM 模板允许你创建指定的必要资源,只需单击一次即可使用资源前缀和更多详细信息。

例如,如果将资源前缀作为“演示”提供,则根据所选模板在资源组中创建以下资源 -

  • MSI 以名称 demoMSI创建。
  • 存储被创建,名为 demostore,容器随之创建,名为 democontainer
  • 创建了名称为 demoKeyVault 的 Key Vault,并将模板中提供的机密作为参数使用。
  • Azure SQL 数据库创建时名称为 demoSqlDB,SQL Server 名称为 demoSqlServer
工作量 先决条件
Trino 创建如下所示的资源:
1.托管服务标识(MSI):用户分配的托管标识。

将 Trino 部署到 Azure
Flink 创建如下所示的资源:
1.托管服务标识(MSI):用户分配的托管标识。
2. ADLS Gen2 存储帐户和容器。

角色分配:
1. 将“存储 Blob 数据所有者”角色分配给存储帐户上的用户分配身份 (MSI)。

将 Apache Flink 部署到 Azure
火花 创建如下所示的资源:
1.托管服务标识(MSI):用户分配的托管标识。
2. ADLS Gen2 存储帐户和容器。

角色分配:
1. 将“存储 Blob 数据所有者”角色分配给存储帐户上的用户分配身份 (MSI)。

将 Spark 部署到 Azure
Trino、Flink 或 Spark 与 Hive Metastore (HMS) 配合使用 创建如下所示的资源:
1.托管服务标识(MSI):用户分配的托管标识。
2. ADLS Gen2 存储帐户和容器。
3.Azure SQL Server 和 SQL 数据库。
4.Azure Key Vault 和用于存储 SQL Server 管理员凭据的机密。

角色分配:
1. 将“存储 Blob 数据所有者”角色分配给存储帐户上的用户分配身份 (MSI)。
2. 将“Key Vault 机密用户”角色分配给用户分配的 Key Vault 上的 MSI。

将 Trino HMS 部署到 Azure

备注

使用这些 ARM 模板要求用户有权创建新资源并将角色分配给订阅中的资源。

使用 Azure 门户

创建用户分配的托管标识(MSI)

托管标识是注册在 Microsoft Entra ID(Microsoft Entra ID) 中的一种标识,其凭据由 Azure 管理。 使用托管标识时,无需在 Microsoft Entra ID 中注册服务主体来维护证书等凭据。

在 AKS 上,HDInsight 借助用户分配的 MSI 在各组件之间进行通信。

创建存储帐户 - ADLS Gen 2

存储帐户用作群集日志和其他输出的默认位置。 在创建存储帐户期间启用分层命名空间,以用作 ADLS Gen2 存储。

  1. 分配角色:将“存储 Blob 数据所有者”角色分配给创建此存储帐户用户时分配的 MSI。

  2. 创建容器:创建存储帐户后,在存储帐户中创建容器。

备注

还可以选择在创建群集期间创建容器。

创建 Azure SQL 数据库

创建 Azure SQL 数据库,在创建群集期间用作外部元存储,也可以使用现有的 SQL 数据库。 但是,请确保设置了以下属性。

为 SQL Server 和 SQL 数据库启用必要的属性 -

资源类型 财产 描述
SQL Server 身份验证方法 创建 SQL Server 时,请将“身份验证方法”设置为
显示如何选择身份验证方法的屏幕截图。
SQL 数据库 允许 Azure 服务和资源访问此服务器 在 Azure 门户的 SQL 数据库“网络”选项卡中启用此属性。

备注

  • 目前,我们仅支持 Azure SQL 数据库作为内置元存储。
  • 由于 Hive 限制,不支持元存储数据库名称中的“-”(连字符)字符。
  • Azure SQL 数据库应与群集位于同一区域。
  • 还可以选择在创建群集期间创建 SQL 数据库。 但是,需要刷新群集创建页才能使新创建的数据库显示在下拉列表中。

创建 Azure Key Vault

Key Vault 允许在 SQL 数据库创建过程中存储 SQL Server 管理员密码集。 AKS 平台上的 HDInsight 不会直接处理凭据。 因此,需要在 Key Vault 中存储重要凭据。

  1. 分配角色:将“密钥保管库机密用户”角色分配给作为此 Key Vault 资源的一部分创建的用户指定 MSI。

  2. 创建机密:此步骤允许将 SQL Server 管理员密码保留为 Azure Key Vault 中的机密。 在创建机密时,在“值”字段中添加密码。

备注

  • 请确保记下机密名称,因为群集创建过程中需要用到此名称。
  • 需要将“Key Vault 管理员”角色分配给您的标识或帐户,才能通过 Azure 门户在 Key Vault 中添加机密。 导航到 Key Vault,并按照步骤 分配角色的方法进行操作。