Alluxio 在京东Ad Hoc平台的应用--对JDPresto的加速

京东adhoc平台自2017年开始使用alluxio,目前已部署超过500个物理节点,每天加载超过70T的数据,alluxio为adhoc平台部分Presto应用带来了10X的性能提升和稳定的亚秒级查询体验;基于alluxio实现独立的shuffle service服务,根据任务级别和任务类型(Spark,MR)决定shuffle数据存储等级(RAM,SSD,HDD) 张芒,京东大数据平台计算引擎负责人,2015年加入京东,主要负责adhoc平台的搭建、架构升级及日常维护工作。开源软件爱好者,目前是Hadoop,Hive,Presto,Alluxio的Contributer
展开查看详情

1.Alluxio 在京东 ADHoc 平台的应用 对 JDPresto 的加速 2018-10-28

2.张芒: Hadoop、Hive、Presto、Alluxio 项目的 contributor。 2015 年 9 月入职京东,目前 是 京东大数据平台查询引擎负责人; 拥有丰富的离线大数据处理经验 , 根据具体场景提供最优解决方案。 自我介绍

3.01 02 03 京东大数据平台介绍 JDPresto On Alluxio Shuffle Service On Alluxio 目录 04 京东对 Allxuio 社区贡献

4.京东大数据平台介绍 1

5.5 京东是实体经济和数字经济深度融合的新型企业 公司介绍 北京市亦庄经济开发区 公司位置 客户为先、诚信、团队、创新、激情 价值观 京东大数据平台介绍

6.6 服务器规模 40000 台 + ,离线集群总规模 25000 + , 用户 13000 + 集群规模 计算能力 离线数据日处理 40PB + ,日运行 Job 数 100 万 + 存储能力 总数据量 650PB + ,日增数据量 800TB + 业务能力 业务主题 40 + ,数据模型 450 + 京东大数据平台介绍

7.7 京东大数据平台介绍

8.JDPresto On Alluxio 2

9.JDPresto On Alluxio 报表系统 / 业务系统 业务人员自定义查询 1. 查询范围可控 2. 查询频次高 3. 数据重复使用率高 4. 所占查询比例高 1. 查询范围不可控 2. 查询频次低 3. 数据重复使用率低 4. 所占查询比例低

10.JDPresto on Alluxio 优势 可插拔 容错 增强本地性 Alluxio can be online or updated at any time, and business’s feeliing is just a little slow 我们用 Alluxio 的同时,也做出了一些修改,使得 Alluxio 在京东应用有以下特性 当 Alluxio 不可用时, JDPresto 自动切换回 HDFS 读取数据 减少网络和磁盘 IO 消耗 Alluxio 带来 10 倍性能提升 750 台以上节点 近 2 年 . JDPresto On Alluxio

11.本地性 隔离 一次读取 ≈ ç After Before JDPresto On Alluxio

12.12 Presto HDFS Alluxio Access Alluxio exception Access HDFS directlly Read HDFS Data Cache to Alluxio Read Alluxio JDPresto On Alluxio

13.13 JDPresto On Alluxio 减少远程读

14.14 JDPresto On Alluxio

15.JDPresto On Alluxio

16.16 JDPresto On Alluxio

17.17 JDPresto On Alluxio

18.Shuffle Service On Alluxio 3

19.19 磁盘 I/O 性能瓶颈 本地磁盘空间限制 Executor 失败,不必重新计算 Shuffle 数据 Shuffle 数据统一 TTL ,防止临时文件存留 Shuffle Service On Alluxio

20.Cluster1 Shuffle Write phase Alluxio Node Alluxio Node Alluxio Node Cluster2 Map Map Map Shuffle Read phase Alluxio Cluster Alluxio Node Reduce Reduce Shuffle Service On Alluxio

21.CPU Usage CPU Usage Time Time Percent Percent Alluxio FUSE 和 Alluxio API 测试信息 Shuffle Service On Alluxio

22.Cluster1 Cluster2 Using Alluxio FUSE Using Alluxio API Shuffle Service On Alluxio

23.Cluster1 Cluster2 Shuffle Service On Alluxio 任务优先级 ( 核心任务、非核心任务等 ) 任务类型 (Spark 、 MapReduce 等 ) 账号等级 ( 超级账号、普通账号 )

24.京东对 Allxuio 社区贡献 4

25.25 PMC 1 Contributor 4 PR 50 Merged PR 47 Merged Commit 218 Additions/Deletions +4150/-2251 京东对 Alluxio 社区贡献

26.26 JD Contribution ui -grid based sort/ pagnation /filter add an input field New WebUI high watermark start evict low watermark stop evict Watermark evict strategy check startup check every time C onsistency monitor jvm pause Periodically log message and metrics Jvm Pause Monitor cp /ls/load/ rm / format Shell Command DeadLock thrift add timeout time … Bug fix Shell RESTfulApi Change Log Level SyncQuery AlluxioTools … Test 京东对 Alluxio 社区贡献

27.27 京东对 Alluxio 社区贡献

28.zhangmang@jd.com