OPPO大数据离线计算平台架构演进

本文介绍了OPPO大数据离线计算的发展历程,从成长期到繁荣期,面临的挑战包括Shuffle问题、小文件问题、多集群资源协调、元数据扩展和计算统一入口。OPPO通过自研的Remote Shuffle Service(ORS2)、小文件解决方案、Yarn Router、Waggle Dance和Olivia解决了这些问题,并展望了未来的大数据平台发展方向,包括与弹性计算和实时计算的融合以及架构的深化优化。
摘要由CSDN通过智能技术生成

1 前言

OPPO的大数据离线计算发展,经历了哪些阶段?在生产中遇到哪些经典的大数据问题?我们是怎么解决的,从中有哪些架构上的升级演进?未来的OPPO离线平台有哪些方向规划?今天会给大家一一揭秘。

2 OPPO大数据离线计算发展历史

2.1 大数据行业发展阶段

一家公司的技术发展,离不开整个行业的发展背景。我们简短回归一下大数据行业的发展,通过谷歌的BigData搜索热度我们大概分一下大数据的近十几年的进程。
 图1:google bigdata 关键词搜索热度
上面的热度曲线来看,大数据发展大概可以分成三个阶段:
成长期(2009-2015),这段时期主要代表是Hadoop1.0以及相关生态的快速成长;
巅峰期(2015-2018),这段时期主要代表是Hadoop2.0以及Spark迅速成为大数据基础架构和计算引擎的行业事实基础底座;
成熟期(2018-now),这段时间主要代表是Spark、Flink等计算引擎以及OLAP引擎的繁荣;

从这个热度曲线看,有一个小疑问,近两年大数据热度迅速下降,那么什么技术在近几年成为热度最大的技术?

2.2 OPPO 大数据发展阶段

OPPO大数据起步比整个行业稍晚,我们先看一下发展时间轴:
在这里插入图片描述
2013年,大数据巅峰期之初,OPPO开始搭建大数据集群和团队,使用Hadoop 0.20版本(Hadoop1.0)。
2015年,使用CDH服务,集群初具规模。
2018年,自建集群,已经达到中等规模,使用Hive作为计算引擎。
2020年,开始大规模从Hive向Spark计算引擎迁移SQL作业。
2021年,从大数据资源层和计算层升级改造。

OPPO的大数据发展可以总结成两个阶段:
发展期:2013-2018年,OPPO大数据从无到有,慢慢成长,计算节点规模从0扩展到中等规模;
繁荣期:2018-现在,三年大数据快速发展,技术上从hadoop1.0升级到hadoop2.0,计算引擎由hive升级到spark;自研技术以及架构升级解决集群规模膨胀后常见问题;

3 大数据计算领域常见问题

大数据领域有很多经典的问题,我们这里选取了生产环境遇到五种典型的问题来说明;我们将围绕这五种问题展开,介绍OPPO大数据离线计算的架构演进。
图3:大数据计算领域常见问题

3.1 Shuffle问题

Shuffle是大数据计算的关键一环,shuffle 对任务的性能和稳定性都产生重要的影响。有以下几点因素,导致shuffle性能变慢和稳定性变差:

spill&merge:多次磁盘io;map在写shuffle数据的过程中,会将内存的数据按照一定大小刷到磁盘,最后做sort和merge,会产生多次磁盘io.
磁盘随机读:每个reduce只读取每个map输出的部分数据,导致在map端磁盘随机读。
过多的RPC连接:假设有M个map,N个reduce,shuffle过程要建立MxN个RPC连接(考虑多个map可能在同一台机器,这个MxN是最大连接数)。

Shuffle问题不仅会影响任务的性能和稳定性,同时在大数据任务上云的过程中,shuffle数据的承接也成为上云的阻碍。云上资源的动态回收,需要等待下游读取上游的shuffle数据之后才能安全的释放资源,否则会导致shuffle失败。

3.2 小文件问题

小文件问题几乎是大数据平台必须面对的问题,小文件主要有两点危害:

  1. 小文件过多对HDFS存储的NameNode节点产生比较大的压力。

  2. 小文件过多,会对下游任务并发度产生影响,每个小文件生成一个map任务读数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值