如何构建云原生的开源大数据平台 | InMobi 基于阿里云开源大数据服务的最佳实践


随着开源技术与云原生的高度融合,阿里云开源大数据平台在功能性、易用性、安全性上积累了丰富的实践经验,已成功服务数千家企业,助力其聚焦自身核心业务优势,缩短开发周期、简化运维难度,拓展更多业务创新。10月29日,阿里云发布“如何构建云原生的开源大数据平台”解决方案,邀请到了来自阿里云、微淼、Inmobi的技术专家为大家现身说法,呈现上云实践。

如何构建云原生的开源大数据平台 | InMobi 基于阿里云开源大数据服务的最佳实践

本文主要分享 InMobi 基于阿里云开源大数据服务的最佳实践


分享嘉宾: Murray Zhu,InMobi 技术运维负责人

视频地址:https://yqh.aliyun.com/live/bigdataop


一、公司介绍

InMobi AI 和效果驱动的全球化移动广告和营销科技平台,基于全球对接的海量 App和用户,为国内品牌和 App 提供移动广告推广和营销科技服务,为App开发者提供 App广告商业化变现服务。该平台成立于2007年,在2011年进入中国市场,以研发技术为导向,在移动端广告平台行业占据重量级地位,其专业技术在全球和中国都非常领先。InMobi 通过分布全球的23个国家和地区的本地化服务团队,触达10亿以上月活跃独立用户,提供数万个以上精细化受众分类,上千种维度标签,千万级用户自定义样本库的数据和 LBS 服务为基础的精准移动端广告。


作为一家全球领先的科技公司,InMobi CNBC 评为2019年度“全球50大颠覆公司”之一,亦被 Fast Company 杂志评为2018年度“最创新”公司之一。


二、InMobi 中国大数据解决方案

如何构建云原生的开源大数据平台 | InMobi 基于阿里云开源大数据服务的最佳实践

上图是 InMobi 原有的中国大数据集群架构,主要分为数据的摄入层、存储层、计算层,以及报表层。首先通过数据摄入层摄入广告前端的各种广告数据,特别是 RR 等数据,然后将数据存储到离线的 HDFS 大数据集群,再通过计算集群进行数据任务的处理,最后将处理完的任务,通过报表的方式展现给终端用户。

 

在大数据集群的运维过程中,一些问题逐渐暴露:

  • 大数据集群构建在 IDC,不利于资源伸缩和扩展

当计算资源不够用的时候,需要调配甚至暂停一些任务,优先跑重要的任务,对报表的生成并不友好

  • 数据报表实时性较差

数据报表实时性差,无法匹配业务方报表分钟级展现的需求

  • 用于处理实时报表数据的 Vertica 数据库,价格较为昂贵


三、InMobi 中国大数据集群优化方案

大数据集群的优化思考

InMobi 基于上述三个典型问题,针对优化方案进行了如下思考:

  • 构建混合云架构,引入阿里云大数据服务,解决伸缩的存储和计算资源扩展性问题

在云上开启更多大数据服务节点,通过大数据服务的弹性能力扩展短缺的计算和存储能力。特别是针对一些临时性的,如618、双十一等资源使用较为紧张的场景。

  • 通过 EMR ClickHouse 替换 Vertica 数据库,提升实时报表数据查询效率,并节省成本

ClickHouse 作为一个开源产品,目前已经大规模的在中国各种互联网公司的业务场景落地

  • 构建基于 Flink+EMR ClickHouse 的实时数仓体系,彻底解决数据报表实时性问题

解决数据报表实时性问题,至少达到分钟级,针对有特殊要求的报表达到秒级。


大数据集群的具体优化方案

  • 实时数仓和离线数仓解耦
    • IDC 大数据集群中,将离线数据报表资源和实时报表资源完全解耦
    • IDC 大数据集群中将离线数据报表任务和实时报表任务完全解耦
  • 重构实时数仓
    • Kafka 日志集群迁移到阿里云
    • 在阿里云上,基于 Flink+EMR ClickHouse 重构实时数仓集群
    • IDC 中,将原有 Storm 任务迁移到新的实时数仓集群
  • 优化离线数仓
    • 优化和回收利用 IDC 中的 HDP 大数据集群资源,节省成本;
    • 建立离线数据仓库 Hive
    • 在阿里云上开启新的数据节点,加入到离线大数据集群,扩展存储和计算资源;
    • 在阿里云上构建新的 Flume 集群,将 KafKa 中原始数据落盘到HDFS存储


优化后的大数据集群架构

如何构建云原生的开源大数据平台 | InMobi 基于阿里云开源大数据服务的最佳实践

如上图所示,优化后的大数据集群架构主要分为两部分:

  • AliCloud(Real Time),阿里云主要负责实时数据的处理。

从 KafKa 中读取rr log,通过 ClickHouse 写入到实时报表,根据业务要求,从 KafKa 中读取有用数据落到 MySQI 和 PostgreSQL 上。

  • IDC (Offline),IDC 主要负责处理离线的数据和报表业务。

通过 Flume 将 KafKa 里面的原始数据全量落盘到整个 HDFS 集群进行存储,然后进行数据分析和数据规整。在离线大数据集群上,将离线报表的业务需求通过 Spark 任务全部跑出,最后再将任务写回到 ClickHouse 中做离线数据报表的展现。


四、未来更多的技术探索和落地

基于 Flink+Hologres 构建流批一体的实时数仓

众所周知,Hologres 的架构是存算分离的。计算完全部署在 K8s 上,存储可以使用共享存储,根据业务需求选择 HDFS 或者云上的 OSS,实现资源的弹性扩缩容,完美解决资源不够带来的并发问题,非常适合 InMobi 的广告业务场景。


此外,Flink 做流、批数据的 ETL 处理,将处理的数据写入 Hologres 做统一的存储和查询,实现业务端直接对接 Hologres 提供在线服务,大大提高生产效率。



以上就是 Inmobi 基于阿里云开源大数据服务的最佳实践的全部内容。





相关信息


⭐点击链接观看直播回放,超多活动信息等你来

https://yqh.aliyun.com/live/bigdataop

⭐更多EMR相关信息,欢迎前往EMR产品详情页:    https://www.aliyun.com/product/emapreduce


欢迎钉钉扫码加入EMR相关产品交流群,为您提供最新的产品直播、产品活动及技术支持!

如何构建云原生的开源大数据平台 | InMobi 基于阿里云开源大数据服务的最佳实践

上一篇:oracle批量新增


下一篇:服务器有三大攻击杀手