吴磊 - 移动应用分析平台大数据系统实践

蔚慕凝

2018/05/13 发布于 技术 分类

来自友盟公司数据平台架构师吴磊在DTCC上详细的介绍了《移动应用分析平台中的开源大数据系统实践》,他指出,数据是移动互联网的主旋律。友盟是成立于2010年4月的一家专注移动应用分析平台,目前拥有52万app,处理的数据接近2PB。友盟移动应用分析平台在数据采集部分,在成立初期采用基础架构,但是随着互联网的发展过去的传统的架构不够使用,现在已经迁移到使用finagle server,Resque换成Kafka。在数据传输部分采用了数据总线(Kafka)。在数据处理层面,对于实时数据通过Storm实现,而离线数据则采用ElepantBrid、 ProtoBuf、 Compress等。

文字内容
1. 移动应用分析平台大数据系统实践 以友盟移动应用分析平台为例 吴磊 wl@umeng.com 友盟数据平台架构师 2015.04.18
2. 数据是移动互联网的主旋律
3. 关于友盟移动分析平台 •  成立于2010年4月   •  目前涵盖52万app   •  目前处理的数据接近2PB   •  每天处理:      6.7  Billion  Sessions   •  实时处理:100k  QPS   •  离线处理:800+常规任务
4. 基本架构思路  
5. 平台基本架构   phone Pad box KV   Proxy nginx nginx nginx Hive   Pig Mapreduce   Finagle   server Finagle   server HDFS HBASE Spark kaAa kaAa storm zookeeper mongodb
6. 数据处理流程 采集 存储 分析 传输 处理 展示
7. 数据采集 Resque   KaAa     phone     Pad     box nginx   nginx   nginx   ruby  server   ruby  server   To  ….   现在   phone     Pad     box nginx   nginx   nginx   之前 finagle  server   finagle  server  
8. 数据传输 •  数据总线(kaAa)   –  分布式   –  吞吐量   –  持久化   –  Mirror   –  Storm   –  MapReduce    
9. 数据处理 •  实时   –  Storm     •  离线   –   Map-­‐Reduce  计算模型   –   二进制数据格式   •   ElepantBrid   •   ProtoBuf   •   Compress    
10. 数据存储 •  在线数据存储   –  MongoDB   •  数据规模(TB)   •  数据特性   •  离线数据存储   –  HDFS    存储   •  数据规模(PB)   •  二进制数据模型  (ElephantBird)   •  数据压缩      (LZO,  LZMA)   –   Hbase  存储     •  数据规模(10TB)   •  数据skew的影响   •  数据聚合   •  随机读的需求   •  数据缓存   –  Redis    
11. 数据存储   •  Hbase使用的经验   –  Data  skew   –  随机读的优化   –  变随机读为顺序读   –  异步访问   –  数据聚合   –  RowKey设计   –  参数调优   –  表预先切分   –  客户端使⽤用参数调优   –  大批写使用Bulk  Load   –  中间数据和⼩小表使⽤用⽂文件更优   •  Hbase使用的教训   –  重视运维 –  关注官⽅方动态   –  谨慎使⽤用新特性  
12. 数据分析 •  数据统计分析   –  Storm实时计算  +  MR离线计算 •  深度挖掘   –  Pig  +  Hive   •  分类聚类   –  MR  +  Spark   •  预测建模   –  MR  +  Spark  
13. 数据分析 •  Hadoop  使⽤用经验   –  Map  Reduce  槽位混用   –  磁盘空间优先的调度策略   –   任务运⾏行内存限制及调整,内存动态计算   –   ⾼高⽐比例的压缩算法   •  Hadoop  使⽤用的教训   –  对于迭代式计算的支持 –  MR算法的僵化(二次排序,各种Join)    
14. 数据分析 •  Pig  篇 –  Pig    应用场景 •  QA  测试   •  数据深度挖掘   •  聚类分类   –  Pig  优势   –  Pig  局限  
15. 数据分析 •  Hive  篇 –  Hive    应用场景 •  报表生产     –  Hive  优势   •  SQL –  Hive  局限   •  UDF
16. 数据分析 •  SPARK篇 –  Spark  应用场景 •  深度学习 –  Spark  优势 •  更多的抽象模型   •  Mllib库   •  Spark  SQL   •  强大的语言支持   –  Spark  局限   •  吞吐量
17. 数据分析 •  任务调度   •  开源任务调度器   –  Azkaban   –  Oozie   •  友盟任务调度器
18. 数据分析 友盟任务调度器
19. 数据展示 •  数据服务   –  Rest  API   –  ProtoBuf   –  异步请求     –  缓存 Redis   –  预先聚合计算
20. 监控报警 •  Zabbix   •  Ganglia   •  BaconTower   •  报警内容   –  任务失败   –  任务延迟   –  JT,  NN,  DN下线   –  HM,  RS  下线
21. 总结 •  RealTime  +  Batch   •  KaAa     •  MongoDB  +  Hbase   •  Storm,  MR,  Pig,  Hive  ,  Spark   •  ElephantBird,  ProtoBuf   •  LZO,  LZMA   •  Scheduler   •  Zabbix,  ganglia