《8-5 美团 Spark Shuffle 架构演进.pdf》由会员分享,可在线阅读,更多相关《8-5 美团 Spark Shuffle 架构演进.pdf(28页珍藏版)》请在三个皮匠报告上搜索。
1、美团Spark Shuffle架构演进路项浩 技术专家|01美团美团Spark概况概况目录目录CONTENT02Spark基本原理基本原理03Spark 1.x 2.x Shuffle问题问题05美团美团RSS06Push-based Shuffle07方案对比方案对比04业内优化方案业内优化方案08后续计划后续计划|美团Spark概况01|美团Spark概况|美团Spark概况|60万+每天Spark作业数20万+Spark ETL数97+%ETL中使用Spark的比例90+%Spark作业占离线集群的资源比例70PB+天shuffle量500TB+单作业最大shuffle量Spark基本原
2、理02|Spark基本原理|Spark 1.x 2.x Shuffle问题03|Spark 1.x 2.x shuffle问题|热点读(时间&空间的负载均衡)Stage调度机制Container复用资源调度无流控随机读Block数M*R小Block数据无备份Mapper端local存储业内优化方案04|业内优化方案|升级存储:Local Disk改为External StorageSPARK-25299MemVerge重新组织数据:利用独立Shuffle集群,面向Reducer重新组织数据FaceBook阿里百度京东腾讯美团美团RSS05|美团RSS 建设思路|目标提高Shuffle稳定性,新
3、的Shuffle模式下Shuffle成功率100%大Shuffle情况下(1TB),新的Shuffle模式下的效率不低于原生Shuffle具备的能力负载均衡Shuffle ReadShuffle Write流控降低磁盘IO数据有备份美团RSS Shuffle问题解决|热点读Reducer请求RSS节点merge后的数据,请求数降低负载不均衡Shuffle Write:一致性HashShuffle Read:HDFS负载均衡无流控反压随机读顺序读面向Reducer组织的数据数据无备份HDFS三副本美团RSS 设计要点|数据一致性(丢失、重复、损坏)Mapper 端 At Least Once S
4、endCRC32校验元数据校验Reducer幂等处理稳定性超时未ACK重新发送自动剔除问题RSS节点流控指标负载均衡Ketama一致性HashAQE支持Skew Join读放大,数据一致性SMJ 转 BHJ读放大美团RSS 测试上线|测试验证TPC-DS验证上线作业验证回退策略参数化配置shuffle策略初期双跑线上作业失败自动回退原生Shuffle上线策略初期作业粒度灰度后续SLA作业默认使用白名单控制美团RSS 上线收益|0%不再因为Shuffle慢/失败导致SLA打破70+%作业Shuffle Fetch平均等待时间下降10+%作业平均执行时间节省Push-based ShuffleSP
5、ARK-3060206|Pushed-based Shuffle 架构|Pushed-based shuffle 关键点考虑|能复用原来的离线集群资源,但硬件资源无隔离Push小Block后能解决随机读问题,但并非Push所有数据到MSS上Block Size较大的不Push超时不Push无全局视角,不能全局协调资源,负载均衡Push-based Shuffle效果受多种因素影响作业当时获取的资源Reduce的并发数磁盘IO Util变化&数据存储量增加Pushed-based shuffle Shuffle问题解决|热点读:部分解决无流控:未解决随机读:部分解决数据无备份:部分解决负载不均衡:未解决Pushed-based shuffle 测试验证|磁盘IO Util变化HDFS ReadShuffle ReadShuffle Write磁盘存储量变化Shuffle Read 时间变化15%-8%方案对比07|Shuffle方案对比|后续计划08|后续计划|美团RSS读放大更精细的负载均衡Shuffle独立集群的资源利用率Push-based Shuffle线上调优验证&落地Shuffle资源的全局调配Shuffle服务Shuffle模式的自动选择代码融合引擎统一Q&A微信:luxianghao309|非常感谢您的观看|