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

快速入门:使用 Azure CLI 创建 HDInsight on AKS 群集池

重要

此功能目前以预览版提供。 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 工具并将其配置与帐户一起使用。

定义环境变量

第一步是定义环境变量。 环境变量通常用于在 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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/resourcegroups/MC_hdi-00000000000000000000XXXX_contosopool_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contosopool-agentpool"
    },
    "aksClusterResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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 命令删除资源组、群集池以及资源组中的所有其他资源。

注意

若要删除某个群集池,请确保该池中没有活动的群集。