FreeWheel 主任工程师,数据平台组高级软件工程师 姜冰,孙炎 - FreeWheel 大数据实时处理系统的实践

2020-02-27 57浏览

  • 1.FreeWheel⼤数据处理实践 SPEAKER / 姜冰 bjiang@freewheel.tv 孙炎 ysun@freewheel.tv
  • 2.背景 资源管理 应⽤编排和CD AWS部署实践 OLAP查询演进
  • 3.背景 ⼤数据驱动的FreeWheel
  • 4.FreeWheel简介 库存 预测 数据 ⼲告 分析 决策 咨询 服务 视频⼲ 告解决 ⽅案 ⼲告交易 ⼲告 市场 优化 测量 变现 受众 定向
  • 5.FreeWheel视频⼲告⼤数据的特点 数据规模 •⼗亿记录/天 •⼤于3T⽇志/天 •保留18个⽉数据 •跨DC 数据类型 •会话性数据 •嵌套结构⽇志数据 •结构化属性数据 数据应⽤类型 •报表统计 •业务流量追踪 •实时分析查询 •预测反馈
  • 6.⼤数据处理平台架构 Global Kafka 数据中⼼-A Kafka 数据中⼼-B Kafka 数据中⼼-C Kafka Kafka Mirror Maker Speed Layer 流式处理框架 Batch Layer 以Hadoop/Kafka/HBase为核⼼的 Lambda框架
  • 7.分布式资源管理平台 资源利⽤率 • 核⼼服务与计算服务 • 多种类型作业、服务共享资源 批处理 流式处理 流式处理框架 内存计算 OLAP查询 HDFS DataNode HBase RegionServer Monitor Agent System Kernel 计算服务 核⼼服务
  • 8.资源管理 多种类型作业共享资源
  • 9.问题 – 计算服务与核⼼服务竞争 • 计算服务与核⼼服务相互影响 • 没有做CPU限制的计算任务可以导致机器宕机!
  • 10.问题 – ⺴络IO竞争 • 计算服务占⽤⼤量IO
  • 11.问题 – ⺴络IO竞争 • HBase延迟受到Network IO的影响 140 120 100 80 60 40 20 0 March 27th 2017, 03:00:00.000 March 27th 2017, 13:00:00.000 March 27th 2017, 23:00:00.000 March 28th 2017, 09:00:00.000 March 28th 2017, 19:00:00.000 ethTotal.out(MB/Sec) TotalCallTime_99th_percentile (ms) 1000 800 600 400 200 0
  • 12.Linux CGroup 隔离 — CPU资源 • 计算服务和核⼼服务cpuset隔离 • 每⼀层内设置cpu.shares竞争共享 • 粗粒度cpuset隔离 • 细粒度cpu.shares竞争 0-7 … … Yarn 8-31 A B
  • 13.Linux CGroup 隔离 — Network IO资源 • 对于HDFS, HBase, YARN计算服务,使⽤tc(htb)+net_cls cgroup控制 • 粗粒度⺴络IO隔离 • 设置安全边界! #设置tc htb类别和流量控制规则 $ tc class add dev eth0 parent 1: classid 1:1 htb rate 1000mbit $ tc class add dev eth0 parent 1:1 classid 1:10 htb rate 480mbit ceil 1000mbit $ tc class add dev eth0 parent 1:1 classid 1:11 htb rate 260mbit ceil 1000mbit $ tc class add dev eth0 parent 1:1 classid 1:12 htb rate 260mbit ceil 1000mbit #创建cgroup net_cls分组(yarn-service, hbase-service, hdfs-service) $ cgcreate -g net_cls:/yarn-service'>cls:/yarn-service