Kubernetes上的Spark變得輕松
開(kāi)放源代碼版本上的數(shù)據(jù)機(jī)制改進(jìn)
如果您正在尋找關(guān)于Kubernetes上的Spark的高級(jí)介紹,請(qǐng)簽出在Kubernetes上運(yùn)行Spark的優(yōu)缺點(diǎn),如果您正在尋找更深的技術(shù)潛水,那么閱讀我們的指南設(shè)置,管理和監(jiān)控Spark在kubernetes上。
Data Mechanics是一個(gè)托管的Spark平臺(tái),部署在客戶的云帳戶內(nèi)的Kubernetes集群上,可在AWS,GCP和Azure上使用。因此,我們整個(gè)公司都建立在Kubernetes上的Spark之上,并且經(jīng)常被問(wèn)到與簡(jiǎn)單地在Kubernetes開(kāi)源上運(yùn)行Spark有何不同。
簡(jiǎn)短的答案是,我們的平臺(tái)實(shí)現(xiàn)了許多功能,這些功能使Kubernetes上的Spark更加易于使用且更具成本效益。通過(guò)照顧設(shè)置和維護(hù),我們的目標(biāo)是讓您專注于并加速其采用,并節(jié)省大量維護(hù)工作。我們的目標(biāo)是通過(guò)使Spark變得應(yīng)有的簡(jiǎn)單,靈活和高性能來(lái)加速您的數(shù)據(jù)工程項(xiàng)目。
讓我們來(lái)談?wù)劵赟park-on-Kubernetes的主要改進(jìn)。
直觀的用戶界面
Data Mechanics用戶將獲得一個(gè)儀表板,他們可以在其中查看其每個(gè)Spark應(yīng)用程序的日志和指標(biāo)。他們還可以訪問(wèn)Spark UI,該UI很快將被我們自己開(kāi)發(fā)的監(jiān)視工具Data Datas Delight取代(更新,2020年12月:第一個(gè)令人高興的里程碑已經(jīng)發(fā)布!)。該項(xiàng)目的目的是使Spark開(kāi)發(fā)人員在出現(xiàn)故障時(shí)能夠輕松對(duì)其應(yīng)用程序進(jìn)行故障排除,并在必要時(shí)為他們提供高級(jí)建議,以提高其性能(例如,圍繞數(shù)據(jù)分區(qū)和內(nèi)存管理)。
> Data Mechanics Delight
他們還可以訪問(wèn)“作業(yè)用戶界面”,該界面提供了管道主要指標(biāo)的歷史圖表,例如處理的數(shù)據(jù)量,持續(xù)時(shí)間和成本。這樣,您的團(tuán)隊(duì)就可以輕松確保生產(chǎn)管道按預(yù)期運(yùn)行,并在必要時(shí)跟蹤成本。
> Data Mechanics Jobs UI
動(dòng)態(tài)優(yōu)化
Data Mechanics平臺(tái)自動(dòng)動(dòng)態(tài)地優(yōu)化您的管道基礎(chǔ)結(jié)構(gòu)參數(shù)和Spark配置,以使其快速,穩(wěn)定。這是我們需要調(diào)整的設(shè)置:您的Pod的內(nèi)存和CPU分配,磁盤設(shè)置以及有關(guān)并行性,隨機(jī)播放和內(nèi)存管理的Spark配置。我們通過(guò)分析應(yīng)用程序的日志和指標(biāo),并使用應(yīng)用程序過(guò)去運(yùn)行的歷史來(lái)找出瓶頸并對(duì)其進(jìn)行優(yōu)化來(lái)實(shí)現(xiàn)。
> Data Mechanics’ Auto Tuning Feature
除了自動(dòng)調(diào)整外,我們的平臺(tái)還可以在Spark應(yīng)用程序(動(dòng)態(tài)分配)的級(jí)別和Kubernetes集群的級(jí)別實(shí)現(xiàn)自動(dòng)擴(kuò)展。這意味著我們管理Kubernetes節(jié)點(diǎn)池,以在需要更多資源時(shí)縮放群集,并且當(dāng)它們不必要時(shí),將其降低到零。我們還可以輕松使用Spark Ojecutors的現(xiàn)貨節(jié)點(diǎn)進(jìn)一步降低云成本。
> Data Mechanics’ Autoscaling Feature
最后但并非最不重要的一點(diǎn),我們提供了一個(gè)Spark映像列表,其中包含針對(duì)常見(jiàn)數(shù)據(jù)源和接收器的優(yōu)化連接器。您可以直接使用這些映像,也可以將它們用作使用自定義依賴項(xiàng)構(gòu)建自己的Docker映像的基礎(chǔ)。
這些優(yōu)化的目標(biāo)是為您提供Spark應(yīng)該提供的最高性能,并降低您的云成本。實(shí)際上,我們?yōu)槲覀兊姆?wù)收取的管理費(fèi)遠(yuǎn)遠(yuǎn)超過(guò)了我們?cè)谀脑铺峁┥藤~單上節(jié)省的費(fèi)用。我們已幫助從競(jìng)爭(zhēng)性Spark平臺(tái)遷移的客戶將其云計(jì)算費(fèi)用減少了50%至75%。
整合方式
Data Mechanics與筆記本服務(wù)(如Jupyter,JupyterLab,JupyterHub)和調(diào)度程序/工作流服務(wù)(如Airflow)集成在一起。
由于我們的平臺(tái)部署在您可以控制的Kubernetes集群上,因此您也可以使用Docker / Kubernetes兼容工具的完整生態(tài)系統(tǒng)。而且,由于我們已部署在您的云帳戶,VPC中,因此您還可以輕松地使用公司網(wǎng)絡(luò)內(nèi)的本地工具構(gòu)建自己的集成。
> Data Mechanics’ Native Integrations With Jupyter, Docker, Kubernetes, Airflow
托管服務(wù)讓您高枕無(wú)憂
作為托管服務(wù),我們會(huì)處理您的基礎(chǔ)架構(gòu)的設(shè)置和維護(hù)。注冊(cè)數(shù)據(jù)機(jī)械師時(shí),您會(huì)在云帳戶上給出客戶的權(quán)限,我們使用這些權(quán)限創(chuàng)建Kubernetes集群,使其與最新的安全修復(fù)程序保持最新,并推送每?jī)蓚€(gè)新功能的發(fā)布周。
> The Data Mechanics Platform Architecture
確保您的部署安全也是我們的責(zé)任。我們可以在您公司的VPC內(nèi)進(jìn)行部署,并將您的集群設(shè)為私有,因此只能通過(guò)您公司的虛擬專用網(wǎng)對(duì)其進(jìn)行訪問(wèn)。我們?yōu)槟峁┕ぞ撸酝ㄟ^(guò)多個(gè)選項(xiàng)來(lái)應(yīng)用安全性最佳實(shí)踐,以進(jìn)行數(shù)據(jù)訪問(wèn)和用戶身份驗(yàn)證(單點(diǎn)登錄)。
結(jié)論
我們很自豪能夠在Kubernetes以及其他開(kāi)源項(xiàng)目的基礎(chǔ)上,有時(shí)甚至為它們做出貢獻(xiàn)。我們正在嘗試以公開(kāi)透明的方式構(gòu)建您自己構(gòu)建的數(shù)據(jù)平臺(tái)。通過(guò)部署在您的云帳戶和VPC中,您將獲得本地項(xiàng)目的靈活性以及托管平臺(tái)的易用性。
我們內(nèi)部進(jìn)行的優(yōu)化并不能完全彌補(bǔ)我們的定價(jià),事實(shí)上,我們已經(jīng)幫助一些客戶從競(jìng)爭(zhēng)平臺(tái)遷移時(shí)將總成本降低了50%至75%。
原文鏈接:
https://medium.com/data-mechanics/spark-on-kubernetes-made-easy-how-data-mechanics-improves-on-the-open-source-version-3446e6672240