快速创建和使用数据湖分析集群

更新时间:2025-04-15 07:18:24

本文为您介绍如何通过E-MapReduce(简称EMR)控制台,快速创建一个基于开源Hadoop生态的数据湖分析集群,并通过集群客户端提交经典的WordCount作业。WordCountHadoop中最基础且经典的分布式计算任务,用于统计海量文本中的单词数量,广泛应用于数据分析、数据挖掘等场景。

操作概述

通过本快速入门,您将学会:

  • 如何快速创建一个数据湖分析集群。

  • 如何通过集群客户端提交和运行WordCount作业。

  • 初步了解阿里云EMR的核心功能和Hadoop生态的基本使用方法。

前提条件

  • 注册阿里云账号,并完成实名认证。具体操作请参见账号注册(PC端)

    说明

    根据阿里云ECS的规则,您在购买按量付费实例时,需要保证阿里云账户中可用余额(含现金、代金券、优惠券等)不得少于100元人民币。

  • 完成对E-MapReduce的服务账号授予默认的EMRECS角色权限,详情请参见阿里云账号角色授权

注意事项

代码的运行环境由所属用户负责管理和配置。

操作流程

步骤一:创建集群

  1. 进入创建集群页面。

    1. 登录EMR on ECS控制台

    2. 在顶部菜单栏处,根据实际情况选择地域和资源组。

      • 地域:创建的集群会在对应的地域内,一旦创建不能修改。

      • 资源组:默认显示账号全部资源。

    3. 单击上方的创建集群

  2. 在创建集群页面,完成集群相关配置。

    配置区域

    配置项

    示例

    描述

    配置区域

    配置项

    示例

    描述

    软件配置

    地域

    华东1(杭州)

    集群节点ECS实例所在的物理位置。

    重要

    集群创建后,无法更改地域,请谨慎选择。

    业务场景

    数据湖

    选择适合的业务场景,创建集群时阿里云EMR会自动为您配置默认的组件、服务和资源,以简化集群配置,并提供符合特定业务场景需求的集群环境。

    产品版本

    EMR-5.18.1

    选择最新的软件版本。

    服务高可用

    不开启

    默认不开启。打开服务高可用开关后,EMR会把Master节点分布在不同的底层硬件上以降低故障风险。

    可选服务

    HADOOP-COMMON、 OSS-HDFS、YARN、Hive、Spark3、Tez、KnoxOpenLDAP。

    根据您的实际需求选择组件,被选中的组件会默认启动相关的服务进程。

    说明

    如需通过控制台访问Web UI界面,还需选择KnoxOpenLDAP服务。

    允许采集服务运行日志

    开启

    支持一键开启或关闭所有服务的日志采集。默认开启,将收集您的服务运行日志,这些日志仅供集群诊断使用。

    集群创建后,您可以在基础信息页面,修改服务运行日志收集状态

    重要

    关闭日志采集后,EMR的健康检查和技术支持将受到限制,但其他功能仍可正常使用。如何关闭及影响详情,请参见如何停止采集服务日志?

    元数据

    内置MySQL

    表示元数据存储在MySQL中。

    重要

    内置MySQL是一种快速搭建测试环境的方式,不建议在生产环境中使用。如果您正在规划生产环境的元数据存储方案,建议根据实际需求选择自建RDS或者DLF统一元数据。

    集群存储根路径

    oss://******.cn-hangzhou.oss-dls.aliyuncs.com

    当您在可选服务区域选择了OSS-HDFS服务时,需要配置该参数,如果选择的是HDFS服务,则无需配置该参数。

    说明
    • 在选择使用OSS-HDFS服务之前,请确保您选择的地域支持该服务。否则,您可以尝试更换地域或使用HDFS服务替代OSS-HDFS服务。OSS-HDFS服务目前支持的地域信息,请参见开通并授权访问OSS-HDFS服务

    • EMR-5.12.1及后续版本,EMR-3.46.1及后续版本的DataLake、DataFlow、DataServingCustom集群,支持选择OSS-HDFS服务。

    硬件配置

    付费类型

    按量付费

    在测试场景下,建议使用按量付费,测试正常后可以释放该集群,再新建一个包年包月的生产集群正式使用。

    可用区

    可用区 I

    集群创建后,无法直接更改可用区,请谨慎选择。

    专有网络

    vpc_Hangzhou/vpc-bp1f4epmkvncimpgs****

    选择对应区域下的专有网络。如果没有,单击创建VPC前往新建。创建专有网络完成后,单击刷新,可以选择刚创建的VPC。

    交换机

    vsw_i/vsw-bp1e2f5fhaplp0g6p****

    选择在对应专有网络下可用区的交换机,如果在这个可用区没有可用的交换机,则需要新创建一个。

    默认安全组

    sg_seurity/sg-bp1ddw7sm2risw****

    重要

    不支持使用ECS上创建的企业安全组。

    如果已有在使用的安全组,则可以直接选择使用。您也可以新建一个安全组。

    节点组

    打开Master节点组下的挂载公网开关,其余使用默认值即可。

    您可以根据业务诉求,配置Master节点组、Core节点组或Task节点组信息。详情请参见选择硬件与网络

    基础配置

    集群名称

    Emr-DataLake

    集群的名字,长度限制为1~64个字符,仅可使用中文、字母、数字、短划线(-)和下划线(_)。

    身份凭证

    密码。

    用于远程登录集群的Master节点。

    说明

    如果您希望在不输入密码的情况下进行身份验证,可以选择密钥对方式,更多详情请参见管理SSH密钥对

    登录密码确认密码

    自定义密码。

    请记录该配置,登录集群时您需要输入该密码。

  3. 单击确认订单

    EMR on ECS页面,当集群状态显示为运行中时,表示集群创建成功。更多集群参数信息,请参见创建集群

步骤二:准备数据

集群创建成功后,您可以使用集群客户端内预置的WordCount样例程序进行数据分析测试,也可以上传并运行自行开发的大数据应用程序。本文将以运行预置的WordCount样例程序为例,指导您完成从数据准备到数据分析作业提交的完整流程。

  1. 通过SSH方式连接集群,详情请参见登录集群

  2. 准备数据文件。

    创建一个文本文件 wordcount.txt,作为WordCount的输入数据,内容如下所示。

    hello world
    hello wordcount
  3. 上传数据文件。

    说明

    您可以根据实际情况将数据文件上传至集群的HDFSOSS/OSS-HDFS。本文以上传至OSS-HDFS为例,如果是上传至OSS,可以参见简单上传

    1. 执行以下命令,创建名为input的目录。

      hadoop fs -mkdir oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/
    2. 执行以下命令,将本地根目录下的wordcount.txt文件上传至OSS-HDFSinput目录。

      
      hadoop fs -put wordcount.txt oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/

步骤三:提交作业

通过WordCount程序,您可以实现对文本数据中单词出现频率的统计分析。

执行以下命令,提交WordCount作业。

hadoop jar /opt/apps/HDFS/hadoop-3.2.1-1.2.16-alinux3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount -D mapreduce.job.reduces=1 "oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/wordcount.txt" "oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/output/"

涉及参数说明如下所示。

参数

说明

参数

说明

/opt/apps/.../hadoop-mapreduce-examples-3.2.1.jar

该文件是Hadoop自带的示例程序包,包含了多个经典的MapReduce示例程序。其中,hadoop-mapreduce-examples-3.2.1.jar为您集群中对应的JAR包名称,3.2.1为版本号。通常EMR-5.x系列集群的版本号为3.2.1,如果您使用EMR-3.x系列集群,则版本号为2.8.5。

-D mapreduce.job.reduces

用于设置MapReduce作业的Reducer数量。

默认情况下,Hadoop会根据输入数据量自动决定Reducer的数量。如果未明确指定,可能会生成多个输出文件(如part-r-00000part-r-00001 等)。通过设置为1,可以确保最终只生成一个输出文件(part-r-00000)。

oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/wordcount.txt

WordCount作业的输入路径。为前一个步骤中您上传至OSS的数据文件。其中,应替换<yourBucketname>为您的OSS存储空间的Bucket名称,cn-hangzhou为地域名称。

oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/output/

WordCount作业的输出路径,用于存储作业的计算结果。

步骤四:查看结果

查看作业执行结果
查看作业运行记录

您可以通过Hadoop Shell命令方式查看执行结果。

  1. 通过SSH方式连接集群,详情请参见登录集群

  2. 执行以下命令,查看作业执行结果。

    hadoop fs -cat oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/output/part-r-00000

    返回信息如下所示。

    image

YARNHadoop的资源管理框架,负责调度和管理集群上的任务。通过YARN UI,您可以查看作业的运行状态和历史记录,了解作业的执行过程。例如,查看作业状态、任务详情、日志信息、资源使用情况等。

  1. 开启8443端口,详情请参见管理安全组

  2. 新增用户,详情请参见OpenLDAP 用户管理

    在使用Knox账号访问YARN UI页面时,需要Knox账号的用户名和密码。

  3. EMR on ECS页面,单击目标集群所在行的集群服务

  4. 单击访问链接与端口页签。

  5. 单击YARN UI所在行的公网链接。

    使用用户管理中的用户身份信息进行登录认证,即可进入YARN UI页面。

  6. All Applications页面,单击目标作业的ID,可以查看作业运行的详情。

    Hadoop控制台

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

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

  1. 强制终止集群上的所有作业。

  2. 终止并释放所有的ECS实例。

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

重要
  • 按量付费的集群可以随时释放,包年包月的集群到期后才能释放。

  • 释放集群前,请确保集群状态是初始化中、运行中或空闲。

  1. EMR on ECS页面,选择目标集群所在行的more > 释放

    您还可以单击目标集群的集群名称,然后在基础信息页面,选择右上角的全部操作 > 释放

  2. 在弹出的对话框中单击确定

相关文档

常见问题

了解使用阿里云EMR常见问题

  • 本页导读 (1)
  • 操作概述
  • 前提条件
  • 注意事项
  • 操作流程
  • 步骤一:创建集群
  • 步骤二:准备数据
  • 步骤三:提交作业
  • 步骤四:查看结果
  • (可选)步骤五:释放集群
  • 相关文档
  • 常见问题