雲計算

阿里大數據雲原生化實踐,EMR Spark on ACK 產品介紹

開源大數據社區 & 阿里雲 EMR 系列直播 第六期


主題:EMR spark on ACK 產品演示及最佳實踐


講師:石磊,阿里雲 EMR 團隊技術專家

內容框架:

  • 雲原生化挑戰及阿里實踐
  • Spark 容器化方案
  • 產品介紹和演示


直播回放:掃描文章底部二維碼加入釘群觀看回放,或進入鏈接https://developer.aliyun.com/live/246868

一、雲原生化挑戰及阿里實踐

大數據技術發展趨勢

image.png

雲原生化面臨挑戰

計算與存儲分離

如何構建以對象存儲為底座的 HCFS 文件系統

  • 完全兼容現有的 HDFS
  • 性能對標 HDFS,成本降低

shuffle 存算分離

如何解決 ACK 混合異構機型

  • 異構機型沒有本地盤
  • 社區 [Spark-25299] 討論,支持 Spark 動態資源,成為業界共識


緩存方案

如何有效支持跨機房、跨專線混合雲

  • 需要在容器內支持緩存系統

ACK 調度

如何解決調度性能瓶頸

  • 性能對標 Yarn
  • 多級隊列管理

其他

  • 錯峰調度
  • Yarnon ACK 節點資源相互感知

阿里實踐 - EMR on ACK

image.png

整體方案介紹

image.png

  • 通過數據開發集群/調度平臺提交到不同的執行平臺
  • 錯峰調度,根據業務高峰低峰策略調整
  • 雲原生數據湖架構,ACK 彈性擴縮容能力強
  • 通過專線,雲上雲下混合調度
  • ACK 管理異構機型集群,靈活性好

二、Spark 容器化方案

方案介紹

image.png

RSS Q&A

1、為什麼需要 Remote Shuffle Service?

  • RSS 使得 Spark 作業不需要 Executor Pod 掛載雲盤。掛載雲盤非常不利於擴展性和大規模的生產實踐。
  • 雲盤的大小無法事前確定,大了浪費空間,小了 Shuffle 會失敗。RSS 專門為存儲計算分離場景設計。
  • Executor 將 shuffle 數據寫入了 RSS 系統,RSS 系統來負責管理 shuffle 數據,Executor 空閒後即可以回收。[SPARK-25299]
  • 可以完美支持動態資源,避免數據傾斜的長尾任務拖住 Executor 資源不能釋放。


2、RSS 性能如何,成本如何,擴展性如何?

  • RSS 對於 shuffle 有很深的優化,專門為存儲與計算分離場景、K8s 彈性場景而設計。
  • 針對 Shufflefetch 階段,可以將 reduce 階段的隨機讀變為順序讀,大大提升了作業的穩定性和性能。
  • 可以直接利用原有 K8s 集群中的磁盤進行部署,不需要加多餘的雲盤來進行 shuffle。性價比非常高,部署方式靈活。

Spark Shuffle

image.png

  • 產生 numMapper * numReducer 個 block
  • 順序寫、隨機讀
  • 寫時 Spill
  • 單副本,丟數據需 stage 重算

EMR Remote Shuffle Service

image.png

  • 追加寫、順序讀
  • 無寫時 Spill
  • 兩副本;副本複製到內存後即完成
  • 副本之間通過內網備份,無需公網帶寬

RSS TeraSort Benchmark

image.png

  • 備註說明:以10T Terasort 為例,shuffle 量壓縮後大約 5.6T。可以看出該量級的作業在 RSS 場景下,由於 shuffle read 變為順序讀,性能會有大幅提升。

Spark on ECI 效果

image.png

Summary

image.png

對應產品介紹和演示,可以掃描文章底部釘釘群二維碼,進群觀看直播回放哦!

也可以點擊以下鏈接直接觀看回放:https://developer.aliyun.com/live/246868


後續我們會在釘釘群定期推送精彩案例,邀請更多技術大牛直播分享。歡迎有興趣的同學掃下方二維碼加入釘釘群進行交流和技術分享。關注公眾號,鎖定每週精彩分享內容!

image.png

Leave a Reply

Your email address will not be published. Required fields are marked *