当前位置:网站首页>“脉”向未来!华为云MRS助力脉脉迁移平滑上云
“脉”向未来!华为云MRS助力脉脉迁移平滑上云
2022-07-23 20:05:00 【华为云】
客户背景
脉脉(https://maimai.cn),1.2亿职场人都在用的职场社区和求职平台。
脉脉App于2013年10月上线,在中国首次提出了“真实职业形象“与“人脉共享”概念,并成功建立中国第一个实名的终身伴随式职场社区和求职平台。
2020年:注册用户破亿,逐步进化为“内容社区+招聘服务”职场全价值链平台,用户和收入规模高速增长。
脉脉汇聚了海量的“中高端人才”,用户分别来自诸多世界500强、中国500强公司,以拥有高学历、高收入的城市职场精英为主。脉脉助力中国职场人塑造个人职业形象,拓展人脉机遇;助力企业打造雇主品牌,通过脉脉平台的人才银行长期获取并储备中高端人才。

大数据特点

- 业务量上升带来的用户量攀升以及活跃用户数的持续增长,数据量快速增长和分析复杂度越来越高,给技术人员带来了更大的挑战。例如:存储空间严重不足,副本数由3改为2,磁盘利用率依然高达80-90%,甚至更高。
- 大数据构建起步较早,相关技术栈虽然成熟但是也比较老旧。业务的繁重压力不敢升级与技术人员对期望引入新架构重构数据湖架构存在矛盾。例如:计算和存储绑定无法单独灵活调整,整体计算资源利用率低、大数据组件版本老(Hive1),又没有升级迁移方案。
迁移挑战&应对
基于华为云标准化一站式迁移平台,深入了解脉脉业务架构,制定个性化迁移方案,具有不停服、不丢数、组件平滑升级等关键特征。
数据迁移挑战:
部分表小文件非常多,动辄一张表几千万~上亿小文件,例如:某一日志表存在5亿小文件。导致迁移效率慢,专线带宽利用率低。
我们通过遍历HDFS目录,输出表目录下一、二级目录列表,批量生成CDM迁移作业任务文件,导入CDM集群并发迁移。例如:5亿小文件表按二级目录划分后,拆分为3000个子目录,利用CDM并发迁移能力(单集群支持300任务并发)大大提高迁移效率,专线利用率平均达到80%+。
但是同样带来新的问题:单表一次性迁移(CDM单任务通过校验文件MD5值确保单次任务文件一致性)可以保证表迁移前后数据一致,拆分为多个任务后因为任务启动有先后且源端业务并未停止写入导致数据一致性难以保证。华为云MRS提供HDFS文件比对能力,可以识别输出源端、目标端不一致的所有文件列表,且效率高。因此通过CDM和华为云MRS比对能力双重保障历史数据一致性!
业务不停服,数据实时修改如何处理?
我们通过识别业务场景根据表大小、分区信息、表数据流向等情况制定差异化迁移方案。例如:日志表场景只有新增数据,部分表只有周修改任务,部分表存在月度更新等。根据识别到的数据变化范围定期重迁结合数据一致性校验工具解决历史数据搬迁校验问题。
业务挑战:
1. 客户IDC集群使用自研插件实现用户鉴权认证登录,支持Hive表级别认证。随着团队规模增长,期望对HDFS、Hive 字段、Yarn都统一管理避免数据泄露风险。当前自研插件历史悠久,对接新组件工作量大,引入新方案因为没有技术支持导致一直想改造一直停滞不前。
华为云MRS提供Ranger+LDAP统一权限管理管理方案,协助客户完成LDAP搭建、对接(Hive、Ranger)、权限策略设计。针对存算分离场景下OBS数据访问权限问题,MRS协同IAM提供细粒度委托鉴权方案,有效的保护了OBS的数据安全。
2. 客户线下小文件问题较大,尤其日志表尤为突出,对HDFS name node产生很大压力,偶尔出现namenode健康异常、磁盘告警等。而namenode单机主备架构又无法进行压力均衡,导致业务改造无从下手。
华为云MRS专家团队协同客户深入了解数据流架构,梳理业务场景识别小问题业务问题并进行重构。例如:某表存在四级分区,一级:servicename(服务名称) 二级:eventname(事件名称) 三级:day(天) 四级:hour (小时)。表设计之初服务少、事件不多为了方便查询设计了四级分区,当前业务扩张四级分区导致数据分片太小,平均文件都在KB甚至B级别。通过分析业务重构分区字段,将服务名称与事件名称修改为普通字段,保留天和小时为二级分区表。优化为平均文件大小为几十MB级别,大大减少了文件个数。业务改造之外借助MRS内核能力小文件自动合并能力可以对作业运行时进行适当合并避免后期处理增加复杂度。通过华为云存算分离架构,也有效的解除了namenode依赖导致集群不可用的风险问题。
上云收益
架构优化,统一数据湖架构更灵活

性能提升,更高效
上云后各组件版本升级、优化,上云后观察任务调度时间,调度平台核心任务执行时间大幅度优于IDC集群。

总结
基于华为云大数据服务MRS,脉脉实现了业务平滑迁移上云。实现计算和存储资源完全解耦,资源扩容更快,任务调度更智能,运维更便捷,且核心任务调度性能提速 30%以上!
边栏推荐
猜你喜欢

使用高德地图JS API 2.0加载起点终点路径轨迹

How to reset the computer system? The method is actually very simple

task03笔记2

Choice is greater than effort! Guiyang campus Xiaoge 0 foundation successfully transferred to software testing and gained 12K!

去广场吃饭

How important is 5g dual card and dual access?

Drools(1):Drools简介

AtCoder——Subtree K-th Max

Osgearth2.8 compiling silvering cloud effect

NLP领域历史最全必读经典论文分类整理分享(附中文解析)
随机推荐
剑指 Offer II 115. 重建序列
2022 the fourth China International elderly care service industry exhibition was held in Jinan on September 26
不用MQTT C库就能实现MQTT连接、订阅和发布
Leetcode 209. subarray with the smallest length
Mekol Studio - Little Bear Development Notes 2
Mecol Studio - Little Bear Development Notes 3
How to solve the problem that the solid state disk cannot be found when installing win11?
Data warehouse 4.0 notes - data warehouse environment construction - DataGrid preparation and data preparation
el-upload实现上传文件预览
去广场吃饭
Training log on July 22, 2022
Set asp Net MVC site default page is the specified page
如何在OneFlow中新增算子
When using polymorphism, two ideas to judge whether it can be transformed downward
vim 常用快捷键
深度学习-NLP经典论文、课程、论文等资源整理分享
Non local mean filtering / attention mechanism
Win11小组件怎么添加待办事项?Win11添加待办事项小组件的方法
数仓4.0笔记——数仓环境搭建—— DataGrip准备和数据准备
D2Admin框架基本使用