你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:使用 Azure CLI 创建 HDInsight on AKS 群集池
注意
我们将于 2025 年 1 月 31 日停用 Azure HDInsight on AKS。 在 2025 年 1 月 31 日之前,你需要将工作负荷迁移到 Microsoft Fabric 或同等的 Azure 产品,以避免工作负荷突然终止。 订阅上的剩余群集会被停止并从主机中移除。
在停用日期之前,仅提供基本支持。
重要
此功能目前以预览版提供。 Microsoft Azure 预览版的补充使用条款包含适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的更多法律条款。 有关此特定预览版的信息,请参阅 Azure HDInsight on AKS 预览版信息。 如有疑问或功能建议,请在 AskHDInsight 上提交请求并附上详细信息,并关注我们以获取 Azure HDInsight Community 的更多更新。
AKS 上的 HDInsight 引入了群集池和群集的概念,可让你实现数据湖屋的完整价值。
群集池是群集的逻辑分组,在同一池中维护一组群集,这有助于跨多个群集类型构建可靠的互操作性。 可以在现有虚拟网络内或虚拟网络外部创建它。
HDInsight on AKS 中的群集池对应于 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 订阅,请使用 az account set 命令选择应在其中计收资源费用的相应订阅 ID。 有关详细信息,请参阅如何管理 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"
}
创建 HDInsight on AKS 群集池
要在此资源组中创建 HDInsight on AKS 群集池,请使用 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
创建 HDInsight on AKS 群集池需要几分钟时间。 以下示例输出表明创建操作已成功。
输出:
{
"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
命令删除资源组、群集池以及资源组中的所有其他资源。
注意
若要删除某个群集池,请确保该池中没有活动的群集。