天天看點

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

随着開源技術與雲原生的高度融合,阿裡雲開源大資料平台在功能性、易用性、安全性上積累了豐富的實踐經驗,已成功服務數千家企業,助力其聚焦自身核心業務優勢,縮短開發周期、簡化運維難度,拓展更多業務創新。10月29日,阿裡雲釋出“如何建構雲原生的開源大資料平台”解決方案,邀請到了來自阿裡雲、微淼、Inmobi的技術專家為大家現身說法,呈現上雲實踐。
如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

本文主要從資料湖、實時數倉、檢索分析等場景展開分享了雲原生開源大資料應用實戰

分享嘉賓: 劉玉全,阿裡雲智能大資料解決方案架構師

視訊位址:

https://yqh.aliyun.com/live/bigdataop

一、前言

随着各行各業的資料越來越多,自建大資料基礎設施逐漸暴露出各種問題,比如采購周期長、運維成本高,技術棧複雜等。而選擇上雲成為抵抗該類問題的較優選擇,企業不僅可以享受到雲上強大的基礎設施能力,同時雲上豐富的生态計算和存儲的彈性伸縮能力,為企業降本增效。

網際網路中的 APP 普遍存在着内容推薦、實時風控、資訊檢索等各類解決方案需求,而實作這類需求則需要強大的計算和存儲的能力。

二、雲原生的開源大資料統一平台

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

雲原生的開源大資料統一平台,是建構在雲上,基于雲原生的資源,如ECS \ OSS,這類雲主機和雲存儲的 IaaS 基礎設施。雲原生開源大資料平台提供彈性伸縮、智能診斷、資料開發和監控報警等基礎功能。

同時整個雲原生大資料平台産品,可以基于開源 Apache Hadoop 生态運作,也可以基于 K8S 的資源管理平台來建構,而産品體系大概分為兩類:

  • 半托管形态

以 E-MapReduce(簡稱 EMR,下同)産品為代表,EMR 為使用者提供主流開源大資料元件,比如 Hive、spark,Kafka、Presto、Clickhouse 等,使用者可以自由搭配使用,并由 EMR 提供産品管控功能,讓使用者友善的使用開源大資料産品。

  • 全托管形态

如 Flink、Spark、Hadoop、Kafka、Elasticsearch 等主流計算引擎或平台,提供全托管的 Service 服務。全托管的實時計算平台 Flink Ververica、Spark 原廠的 Databricks 、 Cloudera 的 CDP 平台以及阿裡雲 Elasticsearch,為不同使用者提供不同開源産品的使用方法。

同時阿裡雲也有中心化的産品,資料湖——“資料湖建構 DLF”,為使用者提供統一的中繼資料入湖、管理等功能,與其他産品進行組合,提供完整的資料湖解決方案。

三、開源大資料上雲

開源大資料平台 E-MapReduce 

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

大資料上雲主要使用開源大資料平台 EMR,是運作在阿裡雲平台上的大資料處理系統解決方案。基于開源元件,進行了優化增強,性能遠高于開源版本,并且跟随開源版本更新,與各個元件進行适配,保證相容性的同時,具有足夠的穩定性:

  • 相容開源大資料元件

針對 Spark、Hadoop 、Kafka 等元件,基于開源版本進行了優化增強,性能得到極大提升。

對于半托管式架構,使用者自主可控參與度大,可與現有大資料資源進行無縫的遷移。

  • 雲原生

阿裡雲雲原生生态,支援數十種的 ECS 執行個體族,包括計算型、記憶體型、通用型、大資料型和 GPU 異構計算型,比對不同大資料場景,同時提供分鐘級叢集建立和擴容,并支援彈性伸縮和競價執行個體。

由于大資料場景一般有明顯的資料波峰波谷的特點。比如淩晨的任務,需要一個比較高的 SLA 保障。而白天可能就是一個資源低谷,主要完成一些開發任務。我們通過彈性縮容能力,可以很好的達到節省成本的效果。

  • 雲原生支援阿裡雲的對象存儲 OSS

采用 JindoFS 加速 OSS 的性能,降低資料存儲的成本。與阿裡雲的其他産品進行深度的內建,可以在 DataWorks 上使用 EMR,作為作業計算和資料存儲的引擎,內建資料湖建構 DLF,實作資料湖場景下的多引擎的統一進制資料的管理。

  • 企業級特性

比如 EMR 的 APM,在叢集主機服務作業層面的一個監控告警和診斷,支援 Kerberos、RAM 作為鑒權平台 Ranger 的權限管理,保證資料的安全。阿裡雲企業資源組和标簽,友善企業做成本核算。

開源大資料上雲方案

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

開源大資料搬站上雲,是将 IDC 中自建或其他大資料平台,遷移到阿裡雲上,并通過EMR 産品延續開源技術棧,連結阿裡雲生态和開源大資料的生态。

根據資料規模和預算的不同,可以通過閃電立方、專線和公網的方式,按照計劃,高效的把資料和任務遷移到雲上,上雲後內建阿裡雲整個資料生态:

  • 內建 DataWorks

提供高效、安全可靠的一站式大資料開發和治理平台。

  • 內建對象存儲 OSS

EMR 中所有的計算引擎均支援采用 OSS 作為存儲,可以将 OSS 像 HDFS 一樣使用,并采用 JindoFS 對 OSS 資料讀寫進行加速。JindoFS 是資料湖的一個重要元件,現在有大量的使用者在使用 JindoFS 建構雲上的資料湖,實作資料庫的分層存儲,降低存儲成本。

  • 內建資料湖建構 DLF

EMR 預設支援使用資料湖建構 DLF 進行中繼資料的管理,友善資料湖場景下的中繼資料管理。阿裡雲資料湖建構 DLF,使用阿裡雲對象存儲 OSS 作為雲上資料湖的統一存儲

在雲上,可以使用多種計算引擎,面向不同的大資料計算場景,使用統一的資料湖存儲方案,避免資料同步産生的複雜性和一些運維的成本。

雲原生的彈性:20%成本優化

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

雲原生的彈性能力可以帶來20%的成本優化。

傳統的大資料計算業務具有很強的周期性,比如明顯的波峰波谷,淩晨負載高而白天負載低,使用者在規劃叢集的時候,傳統模式下是要按照峰值規劃叢集,對資源有一定程度的備援。

EMR JindoFS+ OSS 的資料湖方案,實作與 HDFS 基本一緻的性能表現,為客戶實作雲上大資料架構的更新,實作了存算分離,讓客戶享受到計算彈性擴充與存儲彈性擴充的紅利,讓客戶更專注在應用層的開發。

使用存算分離架構後,叢集根據業務周期和負載進行彈性伸縮,使用固定資源池加彈性資源池的方式:

對于比較固定的計算資源,使用固定的資源,確定可以鎖定資源完成計算。

對于波峰或者是突發計算任務,采用彈性資源池來應對,以降低對計算資源的浪費。

四、雲上實時應用

典型實時應用場景

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

大資料經過這麼多年的發展,大規模計算的能力已經不是問題,時效性成為了一個重要的特性。

在阿裡雙11的場景中,當天所有的資料分析基本都是實時化,秒級更新;由于越來越多的離線處理,無法滿足業務的發展,而需要更多的實時處理嫩能力,比如實時數倉,實時大屏,實時報表等。

市場投放同學基于實時投放的統計效果,實時調整投放政策;實時推薦,基于使用者的實時行為計算使用者的興趣,然後幫助使用者選擇合适的内容;實時風控基于使用者的行為特征,實時判斷使用者是否為作弊的使用者,對作弊使用者進行一些處罰的操作。

實時計算Flink

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

阿裡雲實時計算Flink ,是一套基于 Apache Flink 建構的一站式實時大資料分析平台,提供标準 SQL,降低業務的開發門檻,幫助企業向實時化、智能化大資料計算更新。

Flink 作為實時計算的流式計算引擎,可以處理多種實時資料,包括線上服務日志、IOT傳感器資料、雲上業務資料庫 RDS 中的 Binlog。

Flink 訂閱 Kafka,消息隊列中的實時資料,進行資料分析和處理,然後将分析的結果,實時寫入到不同的資料存儲中。例如 Clickhouse、Hologres、 Elasticsearch 等産品,通過資料服務,支撐上層的資料應用。

實時計算Flink 基于平台底座,提供 Serverless 服務,全托管的容器化支撐:

  • 計算引擎 Runtime

包括了自研的流狀态存儲引擎 Gemini、SQL 算子和作業排程的深度優化及豐富的開箱即用的 Flink connector 開發平台,提供了作業照顧的全生命周期管理。

  • AutoPilot 這個智能調優

可以在保證各個算子和流作業上下遊性能穩定的前提下,調整作業并行度和資源的配置,然後全局優化作業,解決因吞吐量不足,導緻全鍊路反壓和資源浪費等各種性能調優的問題。

  • Prometheus 的全鍊路監控報警

所有的 Flink 實施任務都是要保證7×24小時運作,是以需要一個完善的監控體系,提供完善的任務運作監控名額,然後檢視任務運作的健康狀态。當作業發生異常時,及時通知相關人員介入處理。

雲上開源實時數倉的最佳實踐

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

在雲上可以通過 Flink、Kafka、Clickhouse 實作一套全鍊路的實時數倉的最佳實踐。

将業務日志、業務資料,實時采集到消息引擎 Kafka 中,利用 Flink 對資料進行實時的ETL 處理彙總分析,然後将結果儲存到 Clickhouse 中,通過 Clickhouse 支撐上層大資料的應用,比如實時報表,實時營銷的分析,AB 實驗的功能。

五、雲上檢索應用

典型檢索應用場景

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

現在每一個移動網際網路中的使用者,每天都在查詢各種各樣的資訊。比如附近的餐廳、酒店、你的購物訂單、物流的資訊應用。

那麼就需要幫助使用者高效的擷取資訊,提供一個面向海量資料的資訊檢索的服務。

日常如我們在購物時搜尋自己感興趣的商品,朋友聚餐時尋找附近有特色餐廳和咖啡館,研發同學,在業務系統産生異常日志異常時,通過日志進行分析排查問題。

阿裡雲 Elasticsearch

上述場景都需要一個資訊檢索的服務,而 Elasticsearch 擁有強大的全文檢索的能力,可以實作複雜的組合條件和模糊的查詢,然後輕松應對各種文本和地理位置資訊的檢索查詢。

阿裡雲 Elasticsearch 提供全托管的ELK服務,100%相容開源,免費提供 X-pack 商業插件,即開即用,按需付費。同時,深入功能與核心性能優化,提供更豐富的分析檢索能力,更安全、高可用的服務:

  • 整體成本降低

與自建ES相比,由于整體雲上托管,無需底層資源的運維投入,實作較低的運維成本

  • 叢集管控

實作叢集彈性擴縮容、Eyou 智能運維統一監控。

  • 與自建ES的能力差異

提供免費的 X-pack 插件、達摩院 NLP 分詞插件、以及向量檢索插件

  • 安全高可用

X-pack 安全元件和字段級别的安全控制,滿足高可用和資料自動備份,同城多活架構,實作服務可靠性達到99.9999999%。

雲上資訊檢索應用最佳實踐

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

各個企業在經營過程中,都會産生大量資料,有結構化和半結構化的資料。

比如說行業知識、地理位置資訊、訂單資訊,音視訊資料。這些資料可能存儲在資料庫RDS 或者是對象存儲 OSS 中,亦或者是大資料存儲引擎中。

通過資料內建工具,可以将這些資料同步到消息引擎或者是資料倉庫中,通過Flink 對資料進行實時的處理,由 Maxcompute 或者 EMR Spark、Hive ,然後進行離線計算,将結果儲存到 Elasticsearch中,為上層的資料應用提供檢索服務,比如全文的檢索和位址的查找。

以上就是雲原生開源大資料應用實戰分享的全部内容。

相關資訊

⭐點選連結觀看直播回放,超多活動資訊等你來

⭐更多EMR相關資訊,歡迎前往EMR産品詳情頁:    

https://www.aliyun.com/product/emapreduce

⭐更多資料湖相關資訊,歡迎前往資料湖建構DLF 産品詳情頁:  

https://www.aliyun.com/product/bigdata/dlf

歡迎釘釘掃碼加入EMR産品交流群,為您提供最新的産品直播、産品活動及技術支援!

如何建構雲原生的開源大資料平台 | 雲原生開源大資料應用實戰

繼續閱讀