本文为您介绍如何通过阿里云账号登录E-MapReduce控制台,使用一键购买,快速创建一个Hadoop集群并执行作业。

前提条件

  • 注册阿里云账号,并完成实名认证。
  • 完成对E-MapReduce的服务账号授予默认的EMR和ECS角色权限,详情请参见角色授权

操作流程

  1. 步骤一:创建集群
    通过一键购买,快速创建一个Hadoop集群。
  2. 步骤二:创建并执行作业
    Hadoop集群创建成功后,您可以通过控制台方式或者命令行方式创建并执行Spark类型作业。
  3. 步骤三:查看作业运行记录
    提交作业后,您可以通过数据开发控制台方式和YARN UI方式查看作业运行记录。
  4. (可选)步骤四:释放集群
    如果不再使用该集群,可以释放集群以节约成本。

步骤一:创建集群

  1. 进入集群管理页面。
    1. 登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域(Region)和资源组
    3. 单击上方的集群管理页签。
  2. 集群管理页面,单击右上角的一键购买
  3. 在创建集群页面,完成集群相关配置。
    本文使用的配置如下表。通过自定义购买方式创建集群的配置信息,请参见创建集群
    配置区域 配置项 示例 说明
    基础信息 付费类型 按量付费 在测试场景下,建议使用按量付费,测试正常后可以释放该集群,再新建一个包年包月的生产集群正式使用。
    集群类型 Hadoop 默认集群类型。
    产品版本 EMR-5.3.1 当前最新的软件版本。
    集群名称 Emr-Hadoop 集群的名字,长度限制为1~64个字符,仅可使用中文、字母、数字、短划线(-)和下划线(_)。
    登录密码 自定义密码 请记录该配置,登录集群时您需要输入该密码。
    说明 使用自定义购买方式创建集群时,建议选择密钥对方式。该方式具有安全性和便捷性优势,密钥对使用方式,请参见SSH密钥方式
    网络配置 可用区 华东1(杭州) 可用区 I 集群创建后,无法直接更改地域和可用区,请谨慎选择。
    网络类型 专有网络 默认为专有网络,不可更改。
    VPC VPC_Hangzhou(192.168.xx.xx/16)(ID:vpc-bp1f4epmkvncimpgs****) 选择对应区域下的VPC。如果没有,单击创建 VPC / 子网(交换机)前往新建。创建专有网络完成后,单击刷新,可以选择刚创建好的VPC。
    说明 创建VPC/子网(交换机)的步骤,请参见创建专有网络。请确保交换机可用区信息与集群可用区信息一致。
    交换机 vsw_i(192.168.xx.xx/24)(ID:vsw-bp1e2f5fhaplp0g6p****) 选择在对应VPC下可用区的交换机,如果在这个可用区没有可用的交换机,则需要新创建一个。
    安全组名称 sg-bp1ddw7sm2risw****(ID:sg-bp1ddw7sm2riswb1****)
    注意 禁止使用ECS上创建的企业安全组。
    您可直接输入安全组名称来新建一个安全组。如果已有在使用的安全组,则可以直接选择使用。
    高可用 高可用 不开启。 默认不开启。打开高可用开关后,Hadoop集群会有两个或三个Master节点来支持ResourceManager和NameNode的高可用。
    实例 选型配置 使用默认值。 根据业务诉求,配置Master实例Core实例Task实例信息。详情请参见选型配置说明
  4. 选中E-MapReduce服务条款,单击创建
    集群创建后,您看到的集群状态初始化中,单击初始化中右侧的详情图标,可以查看操作流程。通过刷新页面可以查看当前集群状态,当集群状态显示为空闲时,集群创建成功。

步骤二:创建并执行作业

集群创建成功后,您可以在该集群创建并执行作业。本文为您提供两种方式创建并执行作业,分别是控制台方式和命令行方式。您可以根据业务诉求选择以下任意一种方式完成作业的创建和执行。

控制台方式

  1. 创建项目。
    1. 单击上方的数据开发页签。
    2. 项目列表页面,单击新建项目
    3. 新建项目对话框中,配置相关信息。
      配置项 示例 描述
      项目名称 project-dev 创建项目的名称。
      项目描述 测试项目 创建项目的描述信息。
      资源组选择 default resource group 资源组选择列表中,选择已有的资源组。
    4. 单击创建
      项目列表页面,可查看或者操作新增的项目。
  2. 在目标项目创建作业。
    1. 项目列表页面,单击目标项目所在行的作业编辑
      作业编辑
    2. 作业编辑区域,在需要操作的文件夹上单击右键,选择新建作业
      create job
      说明 您还可以通过在文件夹上单击右键,进行创建子文件夹、重命名文件夹和删除文件夹操作。
    3. 新建作业对话框中,配置相关信息。
      配置项 示例 描述
      作业名称 spark-demo 建议使用有意义的名称,便于后续管理作业。
      作业描述 spark demo作业 建议使用有意义的描述,便于后续管理作业。
      作业类型 Spark 支持多种作业类型,本文以Spark为例。
  3. 编辑作业内容。
    1. 作业内容区域,填写提交Spark作业需要提供的命令行信息。
      本文以Spark 3.1.1版本为例,输入的作业内容如下。
      --class org.apache.spark.examples.SparkPi --master yarn-client --driver-memory 512m --num-executors 1 --executor-memory 1g --executor-cores 2 /usr/lib/spark-current/examples/jars/spark-examples_2.12-3.1.1.jar 10
      作业内容
      说明 spark-examples_2.12-3.1.1.jar为您集群中对应的JAR包名称,您可以登录集群,在/usr/lib/spark-current/examples/jars路径下获取。
    2. 单击右上角保存
  4. 运行作业。
    1. 在新建的作业页面,单击右上方的运行来执行作业。
    2. 运行作业对话框中,选择资源组和执行集群。
    3. 单击确定

命令行方式

  1. 通过SSH方式连接集群,详情请参见登录集群
  2. 在命令行执行以下命令,提交并运行作业。
    本文以Spark 3.1.1版本为例,输入的命令示例如下。
    spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client --driver-memory 512m --num-executors 1 --executor-memory 1g --executor-cores 2 /usr/lib/spark-current/examples/jars/spark-examples_2.12-3.1.1.jar 10
    说明 spark-examples_2.12-3.1.1.jar为您集群中对应的JAR包名称,您可以登录集群,在/usr/lib/spark-current/examples/jars路径下获取。
    作业提交后,执行信息如下。命令行方式

步骤三:查看作业运行记录

提交作业后,您可以通过数据开发控制台方式和YARN UI方式查看作业运行记录。

数据开发控制台方式

该方式适用于通过控制台方式创建并提交作业的场景。

  1. 作业运行后,您可以在日志页签中查看作业运行的日志。
  2. 单击运行记录页签,可以查看作业实例的运行情况。
    作业运行记录
  3. 单击目标运行记录右侧的详情,跳转到运维中心,可以查看作业实例信息、提交日志和YARN容器列表。

YARN UI方式

该方式适用于通过控制台方式和命令行方式创建并提交作业的场景。

  1. 设置安全组访问,详情请参见设置安全组访问
  2. 在目标集群的集群管理页签下,单击左侧菜单访问链接与端口
  3. 单击YARN UI后面的链接。

    在使用Knox账号访问YARN UI页面时,需要Knox账号的用户名和密码,详情请参见管理用户

    Yarn UI
  4. 在Hadoop控制台,单击目标作业的ID,可以查看作业运行的详情。
    Hadoop控制台

(可选)步骤四:释放集群

如果您创建的集群不再使用时,可以释放集群节约成本。确认集群释放后,系统会对集群进行如下处理:

  1. 强制终止集群上的所有作业。
  2. 终止并释放所有的ECS实例。

这个过程所需时间取决于集群的大小,集群越小释放越快。通常在几秒内可以完成释放,至多不会超过5分钟。

注意
  • 按量付费的集群可以随时释放,包年包月的集群到期后才能释放。
  • 释放集群前,请确保集群状态是初始化中、运行中或空闲。
  1. 作业编辑页面,选择右上角返回EMR控制台 > 集群管理
  2. 集群管理页面,选择目标集群所在行的更多 > 释放
    您还可以单击目标集群所在行的详情,然后在集群基础信息页面,选择右上角实例状态管理 > 释放
  3. 集群管理-释放对话框中,单击释放