资源先决条件

重要

AKS 上的 Azure HDInsight 已于 2025 年 1 月 31 日停用。 了解更多 的信息,请参见此公告

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

重要

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

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

必要的资源

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

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

注意

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

可选资源

注意

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

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

使用 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
使用 Hive 元存储的 Trino、Flink 或 Spark (HMS) 创建如下所示的资源:
1.托管服务标识(MSI):用户分配的托管标识。
2. ADLS Gen2 存储帐户和容器。
3.Azure SQL Server 和 SQL 数据库。
4.Azure Key Vault 和用于存储 SQL Server 管理员凭据的机密。

角色分配:
1. 将存储帐户上用户分配的 MSI 分配为“存储 Blob 数据所有者”角色。
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,并按照步骤 分配角色的方法进行操作。