快速入门:使用 Azure CLI 在 AKS 群集池上创建 HDInsight
重要
AKS 上的 Azure HDInsight 已于 2025 年 1 月 31 日停用。 了解此公告的详细信息。
需要将工作负荷迁移到 Microsoft Fabric 或等效的 Azure 产品,以避免工作负荷突然终止。
重要
此功能目前以预览版提供。 Microsoft Azure 预览版补充使用条款 包括适用于测试版、预览版或尚未正式发布的 Azure 功能的更多法律条款。 有关此特定预览的信息,请参阅 AKS 预览信息中的 Azure HDInsight。 如有问题或功能建议,请在 AskHDInsight 上提交请求,附上详细信息,并关注我们以获取 Azure HDInsight 社区 的更多更新。
AKS 上的 HDInsight 引入了群集池和群集的概念,使你能够实现 Data Lakehouse 的完整价值。
群集池 是群集的逻辑分组,并在同一池中维护一组群集,这有助于跨多个群集类型构建可靠的互作性。 可以在现有虚拟网络或虚拟网络外部创建它。
AKS 上的 HDInsight 中的群集池对应于 AKS 基础结构中的一个群集。
群集 是可在同一群集池中创建的单个计算工作负荷,例如 Apache Spark、Apache Flink 或 Trino。
对于每个群集类型,必须具有群集池。 它可以独立创建,也可以在创建群集期间创建新的群集池。 本快速入门介绍如何使用 Azure CLI 创建群集池。
先决条件
在创建群集池之前,请确保已完成 订阅先决条件。
启动 Azure Cloud Shell
Azure Cloud Shell 是一个交互式 shell,可用于运行本文中的步骤。 它预先安装了常用 Azure 工具,并配置为与帐户一起使用。
-
使用 Azure Cloud Shell 中的 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell中的 Bash 快速入门。
如果想要在本地运行 CLI 引用命令,安装 azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅 如何在 Docker 容器中运行 Azure CLI。
如果使用本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅 使用 Azure CLI登录。
出现提示时,请先安装 Azure CLI 扩展。 有关扩展的详细信息,请参阅 将扩展与 Azure CLI配合使用。
运行 az version,查找已安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
本文需要 Azure CLI 2.56.0 或更高版本。 如果使用 Azure Cloud Shell,则已安装最新版本。
如果有多个 Azure 订阅,请选择相应的订阅 ID,其中应使用 az account set 命令对资源计费。 有关详细信息,请参阅 如何管理 Azure 订阅 - Azure CLI。
还可以转到 https://shell.azure.com/bash,在单独的浏览器选项卡中打开 Cloud Shell。
定义环境变量
第一步是定义环境变量。 环境变量在 Linux 中通常用于集中配置数据,以提高系统的一致性和可维护性。 创建以下环境变量以指定本教程稍后创建的资源名称:
export ResourceGroup="HDIonAKSCLI"
export Region=EastUS
export HDIonAKSClusterPoolName="contosopool"
export NodeType="Standard_E4s_v3"
export ClusterVersion="1.1"
使用 CLI 登录到 Azure
若要使用 CLI 在 Azure 中运行命令,首先需要登录。 使用 az login
命令登录。
创建资源组
资源组是相关资源的容器。 所有资源都必须放在资源组中。
az group create 命令创建一个资源组,并使用前面定义的 $ResourceGroup
和 $Region
参数。
az group create --name $ResourceGroup --location $Region
输出:
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HDIonAKSCLI",
"location": "eastus",
"managedBy": null,
"name": "HDIonAKSCLI",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
在 AKS 群集池上创建 HDInsight
若要在此资源组的 AKS 群集池上创建 HDInsight,请使用 az hdinsight-on-aks clusterpool create
命令:
az hdinsight-on-aks clusterpool create --cluster-pool-name
--resource-group
[--api-server-authorized-ip-ranges]
[--cluster-pool-version]
[--enable-log-analytics {0, 1, f, false, n, no, t, true, y, yes}]
[--la-workspace-id]
[--location]
[--managed-rg-name]
[--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
[--outbound-type {loadBalancer, userDefinedRouting}]
[--private-server-enabled {0, 1, f, false, n, no, t, true, y, yes}]
[--subnet-id]
[--tags]
[--workernode-size]
下面是一个示例:
az hdinsight-on-aks clusterpool create --resource-group $ResourceGroup --cluster-pool-name $HDIonAKSClusterPoolName --location $Region --workernode-size $NodeType --cluster-pool-version $ClusterVersion
在 AKS 群集池上创建 HDInsight 需要几分钟时间。 以下示例输出显示创建的作已成功。
输出:
{
"aksClusterProfile": {
"aksClusterAgentPoolIdentityProfile": {
"msiClientId": "00000000-0000-0000-0000-XXXXXXXX1",
"msiObjectId": "00000000-0000-0000-0000-XXXXXXX11",
"msiResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/MC_hdi-00000000000000000000XXXX_contosopool_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contosopool-agentpool"
},
"aksClusterResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/hdi-00000000000000000000XXXX/providers/Microsoft.ContainerService/managedClusters/contosopool",
"aksVersion": "1.27.9"
},
"aksManagedResourceGroupName": "MC_hdi-00000000000000000000XXXX_contosopool_eastus",
"clusterPoolProfile": {
"clusterPoolVersion": "1.1"
},
"computeProfile": {
"count": 3,
"vmSize": "Standard_E4s_v3"
},
"deploymentId": "00000000000000000000XXXX",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HDIonAKSCLI/providers/Microsoft.HDInsight/clusterpools/contosopool",
"location": "EastUS",
"managedResourceGroupName": "hdi-00000000000000000000XXXX",
"name": "contosopool",
"provisioningState": "Succeeded",
"resourceGroup": "HDIonAKSCLI",
"status": "Running",
"systemData": {
"createdAt": "2024-05-31T15:02:42.2172295Z",
"createdBy": "john@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-05-31T15:02:42.2172295Z",
"lastModifiedBy": "john@contoso.com",
"lastModifiedByType": "User"
},
"type": "microsoft.hdinsight/clusterpools"
}
注意
有关群集池 CLI 命令的详细信息,请参阅 命令。
清理资源
如果不再需要资源,请清理不必要的资源以避免 Azure 费用。 可以使用 az group delete
命令删除资源组、群集池和资源组中的所有其他资源。
注意
若要删除群集池,请确保群集池中没有活动群集。