华为云MapReduce服务MRS对接使用完全指南
1. 引言:为什么选择华为云MRS
华为云MapReduce服务MRS是华为云提供的一站式企业级大数据平台,基于开源Hadoop生态构建,集成了Hive、Spark、Flink、HBase、Kafka等众多主流大数据组件。MRS的核心优势在于存算分离架构——计算与存储资源可以独立扩展,数据存储在华为云对象存储服务OBS中,集群仅负责计算任务,大幅降低了存储成本和运维复杂度。本文将从零开始,系统讲解华为云MRS的对接使用全流程。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
2. 准备工作:账号授权与权限配置
在使用MRS之前,需要完成必要的云服务授权和用户权限配置。
2.1 配置MRS云服务授权
首次使用MRS服务时,需要为MRS授予访问其他云服务(如OBS、VPC等)的权限。在华为云控制台搜索“MapReduce服务”进入MRS控制台,系统会自动提示进行云服务授权。授权完成后,MRS才能正常调用OBS存储数据、创建VPC网络资源等。
2.2 创建IAM用户并授权
为了精细化管理资源,建议使用IAM(统一身份认证服务)创建子用户并授予MRS的操作权限。在IAM控制台创建用户组,将用户加入组中,然后为用户组授予MRS相关策略。如果需要更细粒度的权限控制,可以创建自定义策略。例如,只允许某用户创建集群但不允许删除集群,可通过自定义策略实现。
3. 创建MRS集群
完成授权后,即可在MRS控制台创建集群。MRS支持两种创建方式:快速创建和自定义创建。快速创建适合场景明确、配置需求简单的用户;自定义创建则提供了更丰富的配置选项。
3.1 进入创建页面
登录MRS管理控制台,单击“创建集群”,进入创建集群页面。选择“自定义创建”页签,开始配置集群。
3.2 软件配置
在软件配置阶段,需要设置以下关键参数:
- 区域:选择靠近业务所在地的区域,不同区域间内网不通。
- 集群名称:1-64个字符,仅支持字母、数字、中划线和下划线。
- 集群版本:选择最新稳定版本,如MRS 3.x系列。
- 集群类型:分析集群(离线数据分析)、流式集群(流处理任务)、混合集群(二者兼顾)或自定义集群。
- 组件选择:根据业务需求勾选Hadoop、Spark、Hive、HBase、Kafka等组件。
3.3 硬件配置
硬件配置包括可用区、虚拟私有云VPC、子网、安全组、弹性公网IP、实例规格、磁盘类型和节点数量等。建议将MRS集群与业务应用部署在同一VPC内,以利用内网高速通信。Master节点至少3个以保证高可用,Core节点数量根据数据量评估。
3.4 高级配置
高级配置阶段涉及Kerberos认证开关、Manager管理员密码、登录方式等。Kerberos认证提供强安全认证机制,生产环境建议开启。集群创建需要一定时间,初始状态为“启动中”,成功后变为“运行中”。
4. 存算分离:MRS与OBS对接
存算分离是MRS的核心能力——数据存储在OBS中,计算集群按需创建和释放。MRS支持多种方式对接OBS。
4.1 通过IAM委托对接OBS
IAM委托机制让ECS/BMS节点自动获取临时AK/SK访问OBS,避免了永久AK/SK暴露在配置文件中的风险。操作步骤如下:
- 在IAM控制台创建委托,委托类型选择“云服务”,云服务选择“弹性云服务器ECS 裸金属服务器BMS”。
- 为委托授予“OBS OperateAccess”策略。如果OBS并行文件系统配置了KMS加密,还需勾选“KMS Administrator”策略。
- 在MRS控制台集群详情页的“概览”页签,单击委托右侧的“管理委托”,选择创建的委托名称并绑定。
MRS在IAM的委托列表中预置了“MRS_ECS_DEFAULT_AGENCY”委托,可直接在集群创建时选择。
4.2 通过Guardian组件对接OBS
Guardian是MRS存算分离场景下的核心组件,为HDFS、Hive、Spark、Loader、HetuEngine等服务提供访问OBS的临时认证凭据。配置Guardian对接OBS需确保集群已安装Guardian、Ranger、Hadoop等组件。配置完成后,原始的客户端需要重新刷新配置或重新安装。如在管理控制台执行作业提交,需用omm用户登录主OMS节点执行刷新命令。
4.3 Hadoop访问OBS配置
对于MRS 1.9.2及以上版本,Hadoop、Hive、Spark、Presto、Flink等组件支持使用obs://方式对接OBS。配置方式为在HDFS客户端的core-site.xml中添加AK/SK和Endpoint信息:
<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>需要注意的是,AK/SK会明文暴露在配置文件中,存在安全风险。生产环境建议优先使用IAM委托方式。此外,大数据存算分离场景务必使用OBS并行文件系统而非普通对象桶,否则会对集群性能产生较大影响。
4.4 Hive对接OBS配置
Hive对接OBS需在FusionInsight Manager界面配置hive.metastore.warehouse.dir参数为OBS路径:
obs://bucket-name/user/hive/warehouse/配置保存后需重启Hive服务,并更新客户端配置文件。
4.5 Spark对接OBS配置
Spark支持建表时指定Location为OBS路径,也支持基于Hive Metastore方式对接OBS。配置方式包括在Spark自定义配置中添加spark.sql.warehouse.location.first=true,并在hive-site.xml中设置hive.metastore.warehouse.dir为OBS路径。
5. 元数据管理
MRS集群的元数据(如表结构、数据库信息等)默认存储在集群本地,但为了高可用和统一管理,支持外置元数据库和对接LakeFormation。
5.1 元数据外置到RDS
将Hive和Ranger元数据外置到RDS服务MySQL数据库中,可实现元数据的高可用和跨集群共享。操作流程包括创建MRS集群(含Guardian、Hive、Ranger、Spark组件)、创建并配置RDS MySQL实例、配置MRS数据连接及Guardian对接OBS。RDS实例需与MRS集群在同一VPC和子网,安全组需放通数据库端口。
5.2 对接LakeFormation
LakeFormation是华为云提供的湖仓构建服务,可实现统一的数据湖元数据及权限管理。MRS对接LakeFormation需满足以下约束:MRS集群已开启Kerberos认证;MRS集群和LakeFormation实例同在一个云账户且属于同一Region;LakeFormation侧创建的接入客户端所在VPC与MRS集群在同一VPC下;MRS集群仅支持对接LakeFormation实例中名称为hive的Catalog。存量集群需先完成元数据库和权限策略向LakeFormation的迁移。
对接操作包括创建LakeFormation实例、在LakeFormation中创建名称为hive的Catalog和default数据库、创建接入客户端并记录接入IP、创建委托并授权LakeFormation访问权限。MRS集群创建时需配置LakeFormation数据连接。
6. 客户端安装与使用
MRS集群创建成功后,需要安装客户端才能连接集群内组件服务端,进行组件连接和作业提交。客户端可以安装在集群内的节点上,也可以安装在集群外的节点上。
6.1 客户端安装方式
对于MRS 3.x之前版本,集群创建后主Master节点默认安装有客户端,目录为/opt/client。对于MRS 3.x版本,需在FusionInsight Manager页面选择“服务管理 > 下载客户端”下载安装包进行安装。安装完成后,加载环境变量:
source /opt/client/bigdata_env如果集群开启了Kerberos认证,需执行kinit进行用户认证。
6.2 客户端更新
当服务端配置发生变更时,需要更新客户端配置。可在Manager界面选择“更多 > 下载客户端”重新下载安装。也可在客户端节点执行配置刷新命令。
7. 作业提交与执行
MRS支持通过管理控制台和命令行两种方式提交作业。
7.1 通过控制台提交作业
在MRS管理控制台选择“现有集群”,单击集群名称进入概览页面,在“作业管理”页签创建并提交作业。支持HiveSql、Flink、MapReduce等多种作业类型。
7.2 通过命令行提交作业
登录已安装客户端的节点,切换到客户端目录,加载环境变量后执行相应命令。以提交Spark作业为例:
cd /opt/client
source bigdata_env
spark-submit --class com.example.Main --master yarn /path/to/job.jar8. 安全管理
8.1 Kerberos认证
Kerberos认证提供强身份认证机制,防止未授权访问。开启Kerberos认证的集群,所有组件服务间通信和用户访问都需经过认证。集群创建时选择开启,后续无法更改。
8.2 Ranger权限管理
Ranger提供细粒度的权限控制。Spark组件默认采用Ranger授权插件进行权限管理。LakeFormation授权插件仅适用于MRS 3.6.0及以上版本。通过Ranger可为不同用户、用户组授予不同数据资源的读写权限。
8.3 安全组配置
MRS集群所在的安全组需确保用户IP地址可访问TCP 9022端口,以正常访问Manager管理界面。如需从公网访问,需为集群节点绑定弹性公网IP并开放相应端口。
8.4 告警阈值配置
MRS支持配置监控指标阈值,当指标异常并满足预设条件时触发告警。在FusionInsight Manager界面选择“运维 > 告警 > 阈值设置”,可配置CPU使用率、内存使用率、HDFS存储使用率等指标的告警阈值。
9. 成本优化建议
存算分离架构本身就能大幅降低存储成本——数据存储在OBS按量付费,计算集群按需使用。在此基础上,还可通过以下方式进一步优化成本:选择合适的集群规格和节点数量、利用包年包月计费模式获取折扣、配置自动弹性伸缩应对业务波峰波谷、设置OBS生命周期规则自动转储冷数据。
10. 最佳实践场景
MRS在多个场景中有成熟的最佳实践:使用Spark2x实现车联网车主驾驶行为分析;使用Hive加载HDFS数据并分析图书评分情况;在MRS集群中配置Jupyter Notebook使用PySpark进行机器学习和数据探索。这些实践可帮助用户快速了解MRS的核心功能和应用模式。
常见问题解答
问:MRS集群创建需要多长时间?
答:集群创建通常需要10-30分钟,具体取决于集群规模和网络环境。集群状态从“启动中”变为“运行中”即表示创建完成。
问:MRS支持哪些组件对接OBS?
答:MRS 1.9.2及以上版本支持Hadoop、Hive、Spark、Presto、Flink组件使用obs://方式对接OBS,HBase暂不支持。
问:IAM委托和AK/SK方式对接OBS有什么区别?
答:IAM委托方式通过ECS自动获取临时AK/SK,不会在配置文件中暴露密钥,更安全。AK/SK方式需要将密钥写入配置文件,存在泄露风险。
问:MRS集群如何对接LakeFormation?
答:需满足集群开启Kerberos认证、与LakeFormation实例同Region同VPC等条件,集群仅支持对接名称为hive的Catalog。
问:客户端必须安装在集群节点上吗?
答:不是。客户端可以安装在集群内的节点上,也可以安装在集群外部的节点上,只要网络互通即可。
问:MRS存算分离场景下必须使用并行文件系统吗?
答:是的。大数据存算分离场景请务必使用OBS并行文件系统,使用普通对象桶会对集群性能产生较大影响。




