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

2020-03-01 365浏览

  • 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 容器
  • 35.
  • 36.