作者:容器服務團隊
雲上大資料的 Kubernetes 技術路線
當前,大資料與機器學習領域頗為關注儲存與計算分離架構,逐漸向雲原生演進。以Spark 為例,雲下或自有伺服器可以選擇 Hadoop 排程支援 Spark,雲上的 Spark 則會考慮如何充分享有公共雲的彈性資源、運維管控和儲存服務等,並且業界也湧現了不少 Spark on Kubernetes 的優秀實踐。
大資料雲原生化面臨的挑戰
儲存和計算分離的架構,同時又帶來挑戰,例如:怎樣構建以阿里雲物件儲存 OSS 為底座的 HDFS 檔案系統?需要完全相容現有的 HDFS,還要實現在效能對標 HDFS的同時降低成本;計算引擎 shuffle 資料存算分離,又要考慮如何解決 ACK 混合異構機型的支援問題,以及業界非常關注如何支援 Spark 動態資源。
引入 Kubernetes 之後, 如何排程最佳化效能瓶頸?效能對標 Yarn、實現多級佇列管理。還有,如何藉助 K8s,編排組織各種業務的波峰波谷,實現錯峰排程?等等。
透過阿里雲容器服務 ACK 執行開源大資料任務,將以叢集為中心的視角切換成以作業為中心視角,還可以實現線上業務、AI、大資料統一接入 ACK 叢集,錯峰排程,離線線上混部,提升機器利用率。並且,實現了運維入口、運維工具鏈、監控體系的三重統一。此外,還支援多版本,如同時執行 Spark2.x 和 Spark 3.x 任務。
EMR on ACK 的架構與優勢
12月,阿里雲 EMR 2.0 正式釋出,從平臺體驗、資料開發、資源形態、分析場景等方面實現全面創新。其中在資源形態側,EMR 可以部署在阿里雲容器服務 ACK 平臺, 減少對底層叢集資源的運維投入,以便於使用者更加專注大資料任務本身。
EMR on ACK 為使用者提供了全新的構建大資料平臺的方式,使用者可以將開源大資料服務部署在阿里雲容器服務(ACK)上。利用 ACK 在服務部署和對高效能可伸縮的容器應用管理的能力優勢,使用者只需要專注在大資料作業本身。使用者可以便捷地將 Spark、Presto、Flink 作業執行在 ACK 叢集上,100%相容開源,效能優於開源。
EMR on ACK 架構如下
- 輕量化管控,對接已有資料平臺
- 透過資料開發叢集/排程平臺提交到不同的執行平臺
- 錯峰排程,根據業務高峰低峰策略調整
- 雲原生資料湖架構,ACK 彈性擴縮容能力強
- ACK 管理異構機型叢集,靈活性好
EMR on ACK 具備以下優勢
- Remote Shuffle Service 提供中間 shuffle 資料的儲存計算分離方案
- 可以使計算節點無需本地盤和雲盤
- 支援開啟 Spark 動態資源功能,Spark-25299
終極方案
- JindoFS 針對 OSS 儲存提供湖加速解決方案
- Block 模式1TB TPCDS 場景下有15%以上的效能提升
- 排程層面支援 Scheduler Framework V2
- 排程效能比社群提升3x以上
- 提供多級佇列管理
- 引擎能力增強
- 10TB TPCDS Benchmark 場景下,EMR Spark
比社群有3x效能提升 - Hudi、DeltaLake 比社群功能效能增強
- 10TB TPCDS Benchmark 場景下,EMR Spark
- 完整的錯峰排程方案
國內知名廣告營銷服務商匯量科技已使用 EMR 產品4年。在業務快速增長的大好形勢下,匯量科技面臨越來越多的困擾:如資料來源複雜、資料量大、資料維度多、實時運營業務秒級資料新鮮度需求等業務需求;本次升級後,匯量科技在素材平臺、熱力引擎等業務的大資料平臺搭建上,資料同步和及查詢效率有數倍提升,系統穩定性顯著提升,未再出現之前cpu、mem、io負載高等情況。
EMR on ACK:
點選此處移步阿里雲 EMR 2.0 釋出會,瞭解更多