大数据在趣头条的演进:Kafka读写分离、Hadoop治理机器学习平台 虞沐

Razor

2019/10/19 发布于 技术 分类

文字内容
1. 大数据在趣头条的演进 Kafka读写分离、Hadoop治理 机器学习平台 James Yu 趣头条大数据负责人
2. 自我介绍
3. 自我介绍 虞沐,James。 Ø 2001 年安徽大学本科毕业后,先后在上海 HP 和 SAP 工作。 Ø 2007 年赴美国硅谷工作,先后在 eBay,赛门铁克,三星从事分布式系统 开发。 Ø 2013 年开始从事大数据和公有云相关开发,先后在百度美国,xAd,和 Facebook,从事技术管理和架构师工作。 Ø 2018 年底回到上海工作,在趣头条担任大数据技术总监,经历公司快速发 展,带领团队自研开发多个大数据和机器学习平台。
4. 目录 Ø趣头条简介 ØKafka读写分离 ØHadoop治理 Ø机器学习平台
5. 趣头条简介 Ø2016年6月8日,趣头条1.0正式上线。 Ø2018年3月16日,趣头条宣布完成超过2亿美元B轮融资,整 体投后估值超过16亿美元。 Ø2018年9月14日,趣头条正式挂牌纳斯达克交易所。 趣头条致力于打造一款新形式的资讯阅读软件,以平台、媒体 和共赢的方式。以移动应用为载体进行内容创造、资讯阅读, 提供更多有用、有趣、有益的内容给大家。
6. 大数据部 简介 趣头条在2018-2019年经历了业务的高速发展,主App和其他创 新App的日活增加了10倍以上。 相应的,大数据系统和平台也从最初的100台机器,增加到 2000台以上,技术栈从单一的离线数据报表,发展到离线+实 时+机器学习的完整系统。这个分享将从3个主要方面,阐述大 数据系统的演进路线,和经验分享。
7. CPS COST Perf Stability
8. 系统总图
9. Kafka读写分离
10. Kafka (Producer, Broker, Partition, ZK, Consumer) Zookeeper p1 Producer p2 p3 p4 p1 p2 p3 p4 p1 p2 p3 p4 Consumer
11. Over-consumed topics Consumer CPU Producer Network Lag Kafka cluster Consumer Consumer Consumer Consumer Consumer
12. Over-consumed topics Producer X X X Kafka cluster Kafka cluster X Consumer X Consumer Consumer Consumer Consumer
13. Kafka 读写分离 Netflix-KeyStone
14. Over-consumed topics X Kafka C-1 Producer Proxy Kafka F-1 Flink Consumer Consumer Kafka C-2 Consumer Kafka C-3 Consumer Consumer Consumer
15. Kafka硬件选项 阿里云 旧 新 机型 ecs.d1ne.8xlarge ecs.i2.8xlarge CPU 32 32 Mem 128G 128G DISK 16 * 5.5TB HDD 4 * 1.8TB NVMe SSD Network 20Gb 6Gb
16. SSD 旧 新 Retention 3 days 6-12 hours Throughput 2GB 190MB
17. 数据压缩 gzip snappy 压缩比 40% lz4 zstd CPU 5-10%
18. 性能提升 CPU Network Lag
19. 系统监控 o 机器 CPU,内存,硬盘容量,磁盘间平衡,网卡出入流量 o 服务 消费延迟/积压,数据流量速率,数据压缩,consumer_group 注册报备
20. TODOs o 消费Consumer SDK封装,自动更新集群配置,系统迁移对用 户透明。 o Partition Migration Tool开发,避免大批量Partition迁移导致网 络风暴和服务波动。 o 数据流量波动监控
21. Hadoop治理
22. 存在的问题 o HDFS单Namenode压力大,响应慢,Callqueuelength高 o 队列分配混乱,高优任务没有资源保障 o 系统监控报警不完善,被动解决事故,无法主动风险预警 o 计算引擎重依赖Hive,任务效率低 o 云EMR无法支持大规模集群,设计和功能上有缺陷 o 缺乏统一任务调度平台
23. 自研集群管理平台 Management Portal Salt Config DB CDH2.6 pkg Servers … … …
24. HDFS Federation HA HDFS Quota Control NN 1 HA NN 2 HA NN 3 HA HDFS NN 4 HA NN 5 HA
25. Resource Manager + Computation Engines ETL Adhoc SQL Router/API Hive Spark YARN Flink Presto Spark K8S Flink
26. Master服务独立部署 NameNode JournalNode Resource Manager Job History ZK Hive Metastore Hiveserver 2
27. 监控报警 System Graphana PagerDuty Prometheus Alert Manager
28. 数据生命周期管理 Table 热存储保留天数 HDFS 冷存储保存天数 OSS归档 table_1 10 table_2 7 30 table_3 30 90 table_4 3 table_5 7 成本 1TB/day 20K ¥/day 2TB/day 40K ¥/day 0.2TB/day 4K ¥/day 1TB/day 20K ¥/day 30 3TB/day 60K ¥/day
29. TODOs o Hadoop3 + Erasure Coding o YARN队列资源抢占 o 云 + IDC 混部 o 存储计算分离 o Kerberos o 成本统计:到目录,到任务级别
30. 机器学习平台
31. 组件s Tensorflow SLA MPI Kubernetes Prometheus Arena NAS GPU CPU KubeFlow HDFS
32. System CLI Portal UI Kubeflow ConfigMap K8S Istio Arena Namespace_1 Scheduler Namespace_2 CPU tf_operator Namespace_3 GPU mpi_operator Monitor K8S Inference Model Store HDFS Log NAS
33. 解决的痛点 o 训练集群的资源利用率(自研优化版scheduler) o 训练任务提交和管理不便(提供简易cli和UI,提交,查 询任务状态。监控集群资源使用情况。) o Ceph维护复杂(替换成NFS/NAS) o CPU深度训练效率低(定制高内存GPU机器) o 模型文件加载效率低(迁移到HDFS存储,模型版本管 理平台) o 任务排查困难(丰富监控指标,集中日志查询系统)
34. 未来规划 o 云+IDC混部 o 存储与计算成本 细分治理 o 全链路数据监控报警 o 提高自动化运维程度 o 容器