本文介绍创建 E-MapReduce(以下简称 EMR) 集群的详细操作步骤和相关配置。

进入创建集群页面

  1. 登录阿里云 E-MapReduce 控制台
  2. 完成 RAM 授权,操作步骤请参见角色授权
  3. 在上方选择所在的地域(Region),所创建集群将会在对应的地域内,一旦创建后不能修改。
  4. 单击创建集群,进行创建。

配置集群信息

创建集群时,您需要对集群进行软件配置、硬件配置和基础配置。

注意 创建集群完成后,除了集群名称以外,其他配置均无法修改,所以在创建时请仔细确认各项配置。
  1. 软件配置
    配置项 说明
    产品版本 EMR 产品的主要版本,代表了一整套的开源软件环境,会定时的根据内部组成软件的升级而升级。一般如果 Hadoop 相关的软件有升级,EMR 也会升级,这个主版本号即会升级。低版本的集群无法自动的升级到一个高版本上。
    集群类型 当前支持的集群类型如下:
    • Hadoop:提供半托管的 Hadoop、Hive 和 Spark 离线大规模分布式数据存储和计算,SparkStreaming、Flink 和 Storm 流式数据计算,Presto 和 Impala 交互式查询,Oozie 和 Pig 等 Hadoop 生态圈的组件,具体的组件信息可以在选择页面的列表中查看。
    • Kafka:是半托管分布式的、高吞吐量、高可扩展性的消息系统。提供一套完整的服务监控体系,保障集群稳定运行,用户无需部署运维,更专业、更可靠、更安全。广泛用于日志收集、监控数据聚合等场景,支持离线或流式数据处理、实时数据分析等。
    • Zookeeper:提供独立的分布式一致性锁服务,适用于大规模的 Hadoop 集群、HBase 集群和 Kafka 集群。
    • Druid:提供半托管式实时交互式分析服务,大数据查询毫秒级延迟,支持多种数据摄入方式,可与 EMR Hadoop、EMR Spark、OSS 和 RDS 等服务搭配组合使用,构建灵活稳健的实时查询解决方案。
    • Data Science:主要面向大数据 + AI 场景,提供了 Hive 和 Spark 离线大数据 ETL、TensorFlow 模型训练,您可选择 CPU + GPU 的异构计算框架,通过英伟达 GPU 对部分深度学习算法进行高性能计算。
    必选服务 默认的服务组件,后期可以在管理页面中添加和启停服务。
    可选服务 根据您的实际需求选择其他的一些组件,被选中的组件会默认启动相关的服务进程。
    说明 组件越多,对机器的配置要求也越高,所以在下面的步骤中您需要根据实际的组件数量进行机器选型,否则可能没有足够的资源运行这些服务。
    高级设置
    • Kerberos 集群模式:是否开启集群的 Kerberos 认证功能。一般的个人用户集群无需该功能,默认关闭。
    • 软件自定义配置:可指定一个 json 文件对集群中的基础软件(例如,Hadoop、Spark 和 Hive 等)进行配置,详细使用方法请参见软件配置
  2. 硬件配置
    区域 配置项 说明
    付费类型 付费类型 当前支持的付费类型如下:
    • 按量付费:按量付费是根据实际使用的小时数来支付费用,每小时计费一次,价格相对贵一些,适合短期的测试任务或是灵活的动态任务。
    • 包年包月:包年包月是一次性支付一个长期的费用,价格相对会比较便宜,特别是三年期,折扣会很大。
      • 付费时长:支持 1 个月、2 个月、3 个月、6 个月、9 个月、1 年、2 年和 3 年。按年购买时,优惠如下:
        • 1 年:在 12 个月费用的基础上打 85 折
        • 2 年:在 24 个月费用的基础上打 7 折
        • 3 年:在 36 个月费用的基础上打 5 折
      • 自动续费:到期前7天执行自动续费操作,续费时长为一个月。
    网络配置 可用区 选择集群所在的可用区(Zone)。可用区是指同一地域(Region)下的不同物理区域,每个地域内存在多个可用区,不同的可用区会有不同的机型和磁盘,同一地域下的可用区之间内网互通。

    可用区在物理上属于不同的区域,如果需要较好的网络,推荐您选择相同的可用区。但这样也会使创建集群失败的风险增大,因为单个可用区的存库不一定充足。如果需要大量的机器,您可以工单咨询我们。

    网络类型

    默认使用专有网络(VPC),专有网络需要额外提供所属 VPC 以及子网(交换机),若还未创建,可前往 VPC控制台进行创建。E-MapReduce 专有网络详细使用说明,请参见配置专有网络

    VPC 选择在该地域的 VPC。如没有,单击创建 VPC / 子网(交换机)前往新建。
    交换机 选择在对应的 VPC 下的在对应可用区的交换机,如果在这个可用区没有可用的交换机,则需要创建一个。
    安全组名称 从列表选择集群所属的安全组。这里只展示用户在 E-MapReduce 产品中创建的安全组,目前尚不支持选择在 E-MapReduce 外创建的安全组。

    如果需要新建安全组,输入新的安全组名称即可。安全组名称长度限制为 2 ~ 64 个字符,必须以大小写字母或中文开头,可使用中文、字母、数字、中划线(-)和下划线(_)。

    高可用 高可用

    默认高可用是关闭的,关闭时只有一个 Master 节点。

    打开后,Hadoop 集群会有两个 Master 节点来支持 ResourceManager 和 NameNode 的高可用。HBase 集群原来就支持高可用,只是另一个节点用其中一个 Core 节点来充当,如果打开高可用,会独立使用一个 Master 节点来支持高可用,更加的安全可靠。

    实例 选型配置
    • 节点类型:
      • Master 实例:主要负责 ResourceManager 和 NameNode 等控制进程的部署。
      • Core 实例:主要负责集群所有数据的存储,创建集群完成后也支持按需进行扩容。
      • Task 实例:不保存数据,调整集群的计算力使用。默认关闭,需要时再追加。
    • 节点配置:

      您可以根据需要选择实例规格,详情请参见实例规格族

    • 数据盘类型:

      集群节点使用的数据盘有三种类型,包括普通云盘、高效云盘和 SSD 云盘,不同机型和不同的地域,可用类型会有不同。数据盘默认设置为随着集群的释放而释放。本地盘的计算节点,磁盘是默认选定的,无法修改。

    • 数据盘容量:

      目前推荐的集群容量最小是 40 GB 单机,最大可以到 32 TB 单节点。本地盘的容量是默认的,无法调整。

    • 节点数量:

      各类型的实例分别需要的数量。一个集群至少需要三台实例(高可用集群需增加一个 Master 节点,至少四台)。

  3. 基础配置
    区域 配置项 说明
    基础信息 集群名称 集群的名字,长度限制为 1-64 个字符,仅可使用中文、字母、数字、中划线(-)和下划线(_)。
    远程登录 是否打开安全组 22 端口,默认开启。
    密钥对 关于密钥对的使用,请参见 SSH 密钥对
    登录密码 设置 Master 节点的登录密码,密码规则:8 ~ 30 个字符,且必须同时包含大写字母、小写字母、数字和特殊字符 !@#$%^&*。
    高级设置 统一 Meta 数据库 Hive 使用统一的集群外部的 Meta 数据库,集群释放后 Meta 信息仍然存在。推荐先关闭。
    添加 Knox 用户 添加访问开源大数据软件 Web UI 的账号。
    权限设置 通过 RAM 角色为在集群上运行的应用程序提供调用其他阿里云服务所需的必要权限,无需调整,使用默认即可。
    • 服务角色:用户将权限授予 EMR 服务,允许 EMR 代表用户调用其他阿里云的服务,例如 ECS 和 OSS。
    • ECS应用角色:当用户的程序在 EMR 计算节点上运行时,可不填写阿里云 AccessKey 来访问相关的云服务(例如 OSS),EMR 会自动申请一个临时 AccessKey 来授权本次访问。ECS应用角色用于控制这个 AccessKey 的权限。
    引导操作 可选配置,您可在集群启动 Hadoop 前执行您自定义的脚本,详情请参见引导操作

确认配置清单和集群费用

页面右边会显示您所创建集群的配置清单以及集群费用。根据付费类型的不同,会展示不同的价格信息。按量付费集群显示每小时费用,包年包月显示总费用。

确认创建

当所有的信息确认正确有效后,单击创建,创建集群。

注意
  • 按量付费集群:立刻开始创建。单击创建后,页面会返回集群列表,在集群概览中会生成一个初始化中的集群。集群创建需要几分钟时间,请耐心等待。创建完成后,集群的状态变为空闲
  • 包年包月集群:先生成订单,在支付完成订单以后集群才会开始创建。

登录 Core 节点

  1. 在 Master 节点上切换到 hadoop 账号。
    su hadoop
  2. 免密码 SSH 登录到对应的 Core 节点。
    ssh emr-worker-1
  3. 通过 sudo 命令获得 root 权限。
    sudo vi /etc/hosts

创建失败

如果创建失败,在集群列表页上会显示集群创建失败,将鼠标移动到红色的感叹号上会看到失败原因。

创建失败的集群可以不用处理,对应的计算资源并没有真正的创建出来。创建失败的集群会在停留三天后自动隐藏。