使用 Azure CLI 创建 HDInsight 群集

本文介绍了使用 Azure CLI 1.0 创建 HDInsight 3.5 群集的相关步骤。

Note

在 Azure 中国区,HDInsight Linux 仅支持 3.5 或更高版本。 在 Azure 中国区无法创建 HDInsight Linux 3.2、3.3 和 3.4。 但是,可以通过 HDInsight 模拟器使用这些版本。

Important

Linux 是在 HDInsight 3.4 版或更高版本上使用的唯一操作系统。 有关详细信息,请参阅 HDInsight 在 Windows 上停用

先决条件

Warning

HDInsight 群集是基于分钟按比例收费,而不管用户是否正在使用它们。 请务必在使用完之后删除群集。 有关详细信息,请参阅如何删除 HDInsight 群集

  • 一个 Azure 订阅。 请参阅获取 Azure 试用版

  • Azure CLI。 本文档中的步骤最近已使用 Azure CLI 版本 0.10.14 进行测试。

    Important

    本文中的步骤不适用于 Azure CLI 2.0。 Azure CLI 2.0 不支持创建 HDInsight 群集。

登录到 Azure 订阅

按照 从 Azure 命令行接口 (Azure CLI) 连接到 Azure 订阅 中所述的步骤,使用 登录 方法连接到订阅。

创建群集

应通过命令行(例如 PowerShell 或 Bash)执行以下步骤。

  1. 使用以下命令进行 Azure 订阅的身份验证:

     azure login -e AzureChinaCloud
    

    系统提示提供用户名与密码。 如果有多个 Azure 订阅,可以使用 azure account set <subscriptionname> 来设置 Azure CLI 命令要使用的订阅。

  2. 使用以下命令切换到 Azure Resource Manager 模式:

     azure config mode arm
    
  3. 创建资源组。 此资源组包含 HDInsight 群集和关联的存储帐户。

     azure group create groupname location
    
    • groupname 替换为组的唯一名称。

    • location 替换为要在其中创建该组的地理区域。

      有关有效位置的列表,请使用 azure location list 命令,并使用 Name 列中的位置之一。

  4. 创建存储帐户。 此存储帐户用作 HDInsight 群集的默认存储。

     azure storage account create -g groupname --sku-name RAGRS -l location --kind Storage storagename
    
    • groupname 替换为上一步中创建的组的名称。

    • location 替换为上一步骤中使用的同一个位置。

    • storagename 替换为存储帐户的唯一名称。

      Note

      有关此命令中使用参数的详细信息,请使用 azure storage account create -h 查看此命令的帮助。

  5. 检索用于访问存储帐户的密钥。

     azure storage account keys list -g groupname storagename
    
    • groupname 替换为资源组名称。
    • storagename 替换为存储帐户的名称。

      在返回的数据中,保存 key1key 值。

  6. 创建 HDInsight 群集。

     azure hdinsight cluster create -g groupname -l location -y Linux --clusterType Hadoop --defaultStorageAccountName storagename.blob.core.chinacloudapi.cn --defaultStorageAccountKey storagekey --defaultStorageContainer clustername --workerNodeCount 3 --userName admin --password httppassword --sshUserName sshuser --sshPassword sshuserpassword clustername
    
    • groupname 替换为资源组名称。

    • Hadoop 替换为要创建的群集类型。 例如,HadoopHBaseKafkaSparkStorm

      Important

      HDInsight 群集具有各种不同的类型,与该群集进行优化的工作负荷或技术相对应。 没有任何方法支持创建组合多种类型的群集,如一个群集同时具有 Storm 和 HBase 类型。

    • location 替换为前面步骤中使用的同一个位置。

    • storagename 替换为存储帐户名称。

    • storagekey 替换为上一步骤中获取的密钥。

    • 对于 --defaultStorageContainer 参数,请使用为群集使用的同一个名称。

    • adminhttppassword 替换为通过 HTTPS 访问群集时要使用的用户名和密码。

    • sshusersshuserpassword 替换为通过 SSH 访问群集时要使用的用户名和密码

      Important

      此示例创建一个具有两个辅助节点的群集。 还可以在创建群集后,通过执行缩放操作更改工作节点数。 如果计划使用 32 个以上的辅助角色节点,则必须选择至少具有 8 个核心和 14-GB RAM 的头节点大小。 在创建群集期间,可以使用 --headNodeSize 参数设置头节点大小。

      有关节点大小和相关费用的详细信息,请参阅 HDInsight 定价

      可能需要几分钟时间才能完成群集创建过程。 通常大约为 15 分钟。

故障排除

如果在创建 HDInsight 群集时遇到问题,请参阅访问控制要求

后续步骤

使用 Azure CLI 成功创建 HDInsight 群集后,请参考以下主题来了解如何使用群集:

Hadoop 群集

HBase 群集

Storm 群集