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

资源先决条件

重要

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

本文详细介绍在 AKS 上使用 HDInsight 所需的资源。 它说明了必要和可选的资源,以及如何创建它们。

所需的资源

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

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

注意

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

可选资源

注意

  • VNet 需要子网,而无需与它关联的任何现有路由表。
  • AKS 上的 HDInsight 可用于引入你自己的 VNet 和子网,让你自定义网络要求以适合企业的需求。
  • Log Analytics 工作区是可选的,在想要使用 Azure Log Analytics等 Azure Monitor 功能时,需要提前创建。

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

使用 ARM 模板

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

例如,如果以 “demo” 的形式提供资源前缀,则会根据所选模板在资源组中创建以下资源 -

  • 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
Spark 创建如下所示的资源:
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.将“存储 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 数据库启用所需的属性-

资源类型 properties 说明
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 机密用户”角色分配给作为此 Key Vault 必要资源一部分创建的用户分配的 MSI。

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

注意

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