华为云MapReduce服务MRS对接使用完全指南:从集群创建到生产实践
1. MapReduce服务MRS概述
大数据时代,企业面临的数据量呈指数级增长,传统单机存储和关系型数据库已无法满足海量数据的处理需求。Apache Hadoop作为开源分布式计算平台,虽然能够充分利用集群的计算和存储能力完成海量数据处理,但企业自行部署Hadoop系统面临成本高、周期长、运维难和不灵活等问题。华为云MapReduce服务(MRS)正是在这一背景下应运而生,它是在华为云上部署和管理Hadoop系统的云服务,一键即可部署Hadoop集群。
MRS提供租户完全可控的一站式企业级大数据集群云服务,完全兼容开源接口,结合华为云计算、存储优势及大数据行业经验,为客户提供高性能、低成本、灵活易用的全栈大数据平台。MRS支持运行Hadoop、Spark、HBase、Kafka、Flink、Storm等主流大数据组件,并具备在后续根据业务需要进行定制开发的能力。无论是物联网、电子商务、金融、制造、医疗还是能源行业,MRS都能提供适配的大数据解决方案。
MRS的核心价值在于将复杂的大数据集群部署、配置、运维工作封装为云服务,用户只需在管理控制台上选择集群类型、版本和节点规格,MRS服务即可自动完成企业级大数据平台的安装部署和参数调优。同时,MRS支持集群的生命周期管理、弹性扩缩容、作业调度等全方位运维能力。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
2. MRS集群创建与配置
2.1 创建集群前的准备
在创建MRS集群之前,需要做好以下准备工作:首先,登录华为云MRS管理控制台,在服务列表中搜索“MapReduce服务 MRS”进入服务管理界面。其次,确认账号拥有创建MRS集群的操作权限,如果需要对云上资源进行精细管理,建议使用IAM服务创建IAM用户及用户组并授权。最后,规划集群的网络配置,包括选择区域、虚拟私有云VPC和子网。不同区域的云服务产品之间内网互不相通,应就近选择靠近业务区域的可用区以减少网络时延。
2.2 快速创建集群
对于初次使用MRS的用户,快速创建是最便捷的方式。在MRS管理控制台单击“创建集群”,进入创建集群页面后选择“快速创建”页签。快速创建模式下,系统会提供预置的集群模板,用户只需填写少量关键配置即可完成集群创建。
快速创建时需要配置的核心参数包括:集群名称(如mrs_demo)、集群类型(支持自定义、分析集群、流式集群、混合集群等)、版本类型(LTS版或普通版)、集群版本(如MRS 3.2.0-LTS.1或MRS 3.1.5)、组件选择(基于预置模板选择组件组合)、可用区、VPC和子网、集群节点配置以及是否开启Kerberos认证。
2.3 自定义创建集群
当业务有特殊需求时,可以选择自定义创建集群。自定义创建提供了更灵活的配置选项,包括软件配置、硬件配置和高级配置三个步骤。在软件配置阶段,用户可以精确选择需要安装的组件,MRS 3.x及以上版本还支持自定义拓扑集群,即用户可以自主定义集群进程实例在集群节点中的部署方式。
MRS支持的集群类型包括:分析集群(用于离线数据分析,提供Hadoop体系组件)、流式集群(用于流处理任务,提供流式处理组件)、混合集群(同时支持离线分析和流处理)以及自定义集群(用户可按需调整服务部署方式)。组件选择方面,分析集群典型组件包括Presto(分布式SQL查询引擎)、Hadoop(分布式系统基础架构)、Spark(内存分布式计算框架)等。
集群创建需要一定时间,初始状态为“启动中”,创建成功后状态更新为“运行中”。MRS系统界面支持同一时间并发创建10个集群,最多支持管理100个集群。
3. MRS存算分离架构与OBS对接
3.1 存算分离概述
存算分离是现代大数据架构的重要趋势,它将计算集群(MRS)与存储系统(OBS对象存储服务)解耦,实现计算资源与存储资源的独立伸缩。MRS支持使用obs://的方式对接OBS服务,当前主要支持的组件为Hadoop、Hive、Spark、Presto、Flink。HBase组件暂不支持使用obs://方式对接OBS。
MRS可以直接处理OBS中的数据,用户可以通过管理控制台Web界面和OBS客户端对数据进行浏览、管理和使用。MRS目前支持将OBS上的数据导入至HDFS中。
3.2 配置存算分离的方式
MRS提供两种访问OBS的配置方式,推荐使用委托方式。委托方式通过为MRS集群绑定ECS委托来访问OBS,避免了AK/SK直接暴露在配置文件中的风险。另一种方式是直接在MRS集群中配置AK/SK,但AK/SK会明文暴露在配置文件中,仅适合测试场景使用。
3.3 Hadoop组件访问OBS配置
在MRS客户端的HDFS目录($client_home/HDFS/hadoop/etc/hadoop)中修改core-site.xml文件,增加如下配置:
<property>
<name>fs.obs.access.key</name>
<value>您的AK</value>
</property>
<property>
<name>fs.obs.secret.key</name>
<value>您的SK</value>
</property>
<property>
<name>fs.obs.endpoint</name>
<value>OBS服务Endpoint</value>
</property>配置完成后,即可直接访问OBS上的数据。例如执行以下命令查看OBS文件系统下的文件列表:
hadoop fs -ls "obs://bucket-name/path/to/files"3.4 Hive组件访问OBS配置
针对MRS 3.x及之后版本,需要登录FusionInsight Manager页面,选择“集群 > 服务 > Hive > 配置”,将“基础配置”切换为“全部配置”。搜索“fs.obs.access.key”和“fs.obs.secret.key”参数并分别配置为OBS的AK和SK。如果当前集群中搜索不到这两个参数,可以在左侧导航选择“Hive > 自定义”,在自定义参数“core.site.customized.configs”中增加这两个参数。配置完成后保存并重启Hive服务。
配置完成后,可以在beeline中直接使用OBS目录进行访问:
CREATE TABLE test_obs(a INT, b STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ","
STORED AS TEXTFILE
LOCATION "obs://test-bucket/test_obs";3.5 Spark组件访问OBS配置
由于Spark SQL依赖Hive,在Spark上配置OBS时需要同时修改Hive的OBS配置。Spark提供了两种配置方式:一是在spark-beeline和spark-sql中通过set命令动态设置:
SET fs.obs.endpoint=OBS服务Endpoint;
SET fs.obs.access.key=您的AK;
SET fs.obs.secret.key=您的SK;二是通过在Manager中配置服务参数实现。
4. MRS安全认证机制
4.1 Kerberos认证概述
Hadoop社区版本提供两种认证方式:Kerberos认证(安全模式)和Simple认证(普通模式)。在创建集群时,MRS支持配置是否启用Kerberos认证,集群创建完成后不支持修改。
安全模式的MRS集群统一使用Kerberos认证协议进行安全认证。Kerberos协议支持客户端与服务端进行相互认证,提高了安全性,可有效消除使用网络发送用户凭据进行模拟认证的安全风险。集群中由KrbServer服务提供Kerberos认证支持。
4.2 Kerberos用户类型
Kerberos协议中,每个用户对象即一个principal,包含用户名和域名两部分信息。系统操作运维与业务场景中主要使用的用户分为“人机”用户和“机机”用户,二者的主要区别在于“机机”用户密码由系统随机生成。
4.3 Kerberos认证方式
Kerberos认证支持两种方式:密码认证和keytab认证,认证有效时间默认为24小时。密码认证通过输入用户正确的密码完成身份认证,主要在运维管理场景中使用“人机”用户进行认证,客户端命令为kinit 用户名。keytab认证使用keytab文件包含用户principal和用户凭据的加密信息,认证时系统自动使用加密凭据进行认证无需输入用户密码,主要在组件应用开发场景中使用“机机”用户。
4.4 普通模式的安全建议
普通模式集群使用原生开源的Simple认证方式,客户端在连接服务端的过程中默认以客户端执行用户自动完成认证。这种模式下集群资源管理接口和数据控制接口在服务端无认证和鉴权控制,存在安全风险。因此在普通模式下,建议仅用于单用户场景,并严格限定网络访问权限:尽量将业务应用程序部署在同VPC和子网下的ECS中,避免通过外网访问MRS集群;配置严格限制访问范围的安全组规则,禁止对MRS集群的入方向端口配置允许Any或0.0.0.0的访问规则。
5. MRS集群客户端安装与使用
5.1 客户端概述
MRS集群创建成功后,用户需要安装集群客户端才能连接集群内组件服务端,进行组件连接和作业提交等操作。MRS 3.x之前版本集群在创建后,主Master节点默认安装有客户端,安装目录为/opt/client。MRS 3.x及之后版本需要用户自行下载并安装客户端。
5.2 下载客户端
登录FusionInsight Manager(MRS 3.x及之后版本),在“集群”下拉列表中单击需要操作的集群名称,选择“集群 > 服务 > 服务名称 > 更多 > 下载客户端”,弹出下载客户端信息提示框。“选择客户端类型”中选择“完整客户端”。
5.3 安装客户端
安装客户端可以使用root或其他操作系统用户进行操作,该用户需要对客户端文件存放目录和安装目录具有操作权限。使用omm和root以外的用户安装客户端时,若/var/tmp/patch目录已存在,需将此目录权限修改为777,将此目录内的日志权限修改为666。安装目录通常为/opt/client。
客户端安装完成后,需要进行Kerberos认证(安全模式集群)才能访问集群服务。密码认证方式使用kinit 用户名命令完成认证。认证完成后,即可使用各组件客户端工具进行数据操作和作业提交。
6. MRS作业提交与管理
6.1 作业提交方式
MRS支持多种作业提交方式,用户可以通过MRS管理控制台在线创建并运行作业,也可以通过MRS集群客户端以命令行形式提交作业。对于开发者,还可以通过调用MRS API来完成作业的提交和执行。
6.2 通过管理控制台提交作业
登录MRS管理控制台,选择“现有集群”,选中一个运行中的集群并单击集群名称进入集群概览信息页面。对于开启了Kerberos认证的集群,需要先在“概览”页签中单击“IAM用户同步”进行IAM用户同步。IAM用户同步完成后需等待约5分钟再进行作业提交。然后单击“作业管理”,在作业列表界面单击“添加”。
6.3 Flink SQL作业提交示例
选择“作业类型”为“FlinkSql”,配置作业名称、SQL类型(支持直接运行SQL语句或加载HDFS/OBS中的SQL脚本文件)、SQL语句或SQL文件路径。FlinkScript文件需要以.sql结尾。还可以配置运行程序参数(如线程、内存、CPU核数等)和服务配置参数。
6.4 Hadoop Wordcount作业示例
Wordcount是最经典的Hadoop作业,用于统计海量文本的单词数量。通过集群客户端提交wordcount作业的流程包括:准备应用程序及数据文件、在集群客户端提交作业并查看执行结果。
6.5 Spark SQL作业示例
Spark提供类似SQL的Spark SQL语言操作结构化数据。从零开始使用Spark SQL的典型流程包括:创建名称为src_data的表,在表中写入数据,最后将数据存储在MRS集群中。
7. MRS监控与告警配置
7.1 告警阈值配置
MRS提供了完善的监控告警机制。登录MRS集群Manager界面,选择“运维 > 告警 > 阈值设置”,可以在监控分类中选择集群内指定主机或服务的监控指标。在“配置”区域的“监控和告警配置”下,单击“阈值配置”,依据规划选择监控指标并设置其基线。
7.2 告警消息通知
MRS支持配置告警事件的消息通知。登录MRS管理控制台,选择“现有集群”,选中运行中的集群并单击集群名称进入集群信息页面,单击“告警管理”,选择“消息订阅规则 > 添加消息订阅规则”即可配置告警通知。
7.3 Syslog对接
MRS支持将告警上报至Syslog服务器。MRS 3.x之前版本需登录MRS Manager单击“系统设置”,在“配置”区域开启“Syslog配置”开关。MRS 3.x及之后版本的配置方式略有不同。
8. MRS数据迁移实践
8.1 使用CDM迁移数据
云数据迁移(CDM)服务是华为云提供的同构/异构数据源之间批量数据迁移服务。通过CDM可以将线下IDC机房或者公有云集群中的数据迁移到华为云MRS服务。CDM围绕大数据迁移上云和智能数据湖解决方案,提供了简单易用的迁移能力和多种数据源到数据湖的集成能力。
8.2 迁移实践要点
使用CDM迁移数据时,需要创建CDM集群,该CDM集群的安全组和子网需要和迁移目的端集群保持一致,保证CDM集群和待迁移的MRS集群之间网络互通。迁移操作可能导致源端集群性能下降,影响源端业务的响应时间。CDM支持迁移Hudi数据、Doris数据等多种数据源到MRS集群。
9. 常见问题解答
问1:MRS集群创建完成后,能否修改Kerberos认证的开启状态?
答:不能。Kerberos认证的开启状态在集群创建时确定,集群创建完成后不支持修改。因此在创建集群前需要根据业务安全需求慎重选择是否启用Kerberos认证。
问2:MRS集群如何对接OBS实现存算分离?
答:MRS支持通过委托方式或AKSK方式对接OBS。推荐使用委托方式,通过为MRS集群绑定ECS委托来访问OBS,避免AK/SK直接暴露在配置文件中。配置完成后,Hadoop、Hive、Spark等组件可以通过obs://路径直接访问OBS数据。
问3:安全模式集群中,提交作业时报“当前用户在MRS Manager不存在”错误怎么办?
答:这是由于未进行IAM用户同步导致的。需要在集群详情页的“概览”页签中单击“IAM用户同步”进行同步,同步完成后等待约5分钟再提交作业。
问4:MRS支持哪些大数据组件?
答:MRS支持Hadoop、Spark、HBase、Kafka、Flink、Storm、Presto、ClickHouse等主流大数据组件。用户可以根据业务场景选择分析集群、流式集群或混合集群,也可以自定义选择组件组合。
问5:如何监控MRS集群的运行状态?
答:可以通过MRS集群Manager界面查看集群运行状态和监控指标。还可以配置告警阈值,当指标超过阈值时触发告警。同时支持配置消息订阅规则,将告警事件通过邮件或短信通知运维人员。
问6:MRS集群客户端如何安装?
答:登录FusionInsight Manager,在集群服务中选择“更多 > 下载客户端”下载完整客户端安装包。使用具有操作权限的用户(root或其他用户)执行安装,安装目录通常为/opt/client。安全模式集群安装后需要使用kinit命令进行Kerberos认证。



