《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|非常感謝您的觀看|