close

摘要


Apache Kylin 社區今年發布了全新架構的 Kylin 4.0,致力於打造高性能、低成本的 OLAP 引擎。Kylin 4.0 的架構支持存儲和計算分離,這使得 Kylin 用戶可以採取更加靈活、計算資源彈性伸縮的雲上部署方式來運行 Kylin 4.0。Kylin 4 的新架構為雲上部署帶來哪些優勢呢?如何在雲上更好、更簡單地用好 Kylin 呢?以下是我們對 Kylin 4 的一些總結,相關背景請參考 :有贊出品|升級 Kylin 4 最強攻略!

雲友好:可以脫離 Hadoop 部署,計算資源的伸縮可以做到更加彈性。
更高資源利用率:得益於 Kylin 4 的構建和查詢引擎的全面升級, Kylin 4 資源利用率更高更穩定。
支持存算分離:使用 S3 作為存儲對象,理論上實現無限的存儲空間。
更簡單的架構:去除了對 Hadoop 的依賴,Kylin 技術的學習成本和集群的維護難度大大降低。

本篇文章將帶來 Kylin 4 在雲上最佳部署方式的探討,並從以下角度展開分析,希望能為社區用戶提供一些參考:
Kylin 4 的雲上部署方式有哪些?
Kylin 4 的雲上最佳部署方式應該是什麼樣?

Kylin 4 的雲上部署方式

考慮到 AWS 是目前主流的公有雲服務提供商,這裡使用 AWS 作為例子展開討論;目前,提到 Kylin 在 AWS的部署方式,主要有兩種方式。一種是 Kylin on EMR(on Hadoop),即在 AWS 提供的 EMR(Hadoop) 集群部署 Kylin;另一種則是 Kylin on EC2(on Standalone),基於 AWS EC2 和 AWS Cloudformation 模板,部署 Kylin 依賴的 Spark Standalone 服務和 Zookeeper 服務,以及 Kylin 本身。

為了突出以上兩種部署方式的最大區別,即 Kylin 是否依賴一個 Hadoop 集群,這裡分別以 on Hadoop 和 on Standalone 指代以上兩者。

以下將通過 5 個方面探討兩種部署方式的優缺點:
成本/TCO
架構
存算分離
部署方式
監控

01

成本/TCO


02

架構


03

存算分離


04

部署方式

AWS 的 Cloudformation Template 服務可以讓用戶自定義雲上服務部署,具有很大的靈活度,同時支持 EMR 和 EC2,但是需要一定的學習成本。


05

監控


06

總結


Kylin 4 的雲上部署方式:Cloudformation

通過以上對比可以看到,在雲上,on Standalone 的部署方式相比 on Hadoop 具有獨特的優勢,不僅能夠較好地節約雲上成本, 減輕了學習和維護的負擔,而且能夠從容地擴縮容,並且依託 Local Cache + Soft Affinity 調度機制,也能擁有和 on HDFS 相似的查詢性能。

基於此,我們開發並且貢獻了 Kylin on Standalone 的部署模板,基於 AWS 所提供的 Cloudformation Template,實現僅需簡單的配置,即可完成所需集群的部署。

相關代碼倉庫如下:
https://github.com/Kyligence/kylin-tpch/tree/deploy-kylin-on-aws
具體配置請參考 README 部分。

以上部署模板具有如下優點:
使用簡便,且具有一定的通用性,支持自定義化。用戶還可以根據自己需要,進行相關服務模板的替換。
多次測試,穩定可靠。當前該代碼腳本通過測試運行良好,做到開箱即用 Kylin 4。

集群示意圖:

整體架構圖:

基於 Cloudformation 的部署方式的不足和未來方向


不足:
部署前有一定的前置步驟需要完成
如果用戶需要進一步擴展 AWS 雲上服務的話,需要了解和學習 Cloudformation Template
未來方向:
封裝更完備,減少前置步驟
集成集群監控服務
集成本地數據緩存
支持快速擴縮容機器節點
升級到 Spark 3.2

以上的討論和開發工作還有很多需要改進的地方,歡迎社區用戶下載試用,歡迎感興趣的同學有不同的建議一起交流學習,也歡迎大家一起參與開源貢獻。

點擊「閱讀原文」了解更多
↓↓↓
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()