Google宣佈為Spark推出Kubernetes Operator

“Spark Operator”測試版允許在Kubernetes集群上執行原生Spark應用程序,不需要Hadoop或Mesos。

Apache Spark是一個非常流行的執行框架,通常用在數據工程和機器學習領域。支撐Databricks 平臺的即是Apache Spark,Spark可部署在企業內部數據中心或者基於雲的Hadoop 服務上,如Azure HDInsight 、Amazon EMR 和Google Cloud Dataproc 。當然,也可以部署在Mesos 集群上。

無需Mesos,也沒有Hadoop YARN集群,你想要在Kubernetres(k8s)集群上運行你的Spark工作負載嗎?雖然Spark早在2.3版本中就增加了專門針對Kubernetes的功能,並在2.4版本中進行了改進,但是以完全集成的方式在k8s上運行原生Spark仍然是一個挑戰。

一、Kube operator

今天,創建了Kubernetes的Google首先宣佈推出針對Apache Spark的Kubernetes Operator測試版,簡稱“Spark operator”。Spark Operator允許在k8s集群上運行原生Spark,從而允許Spark應用程序,無論是用於分析、數據工程還是機器學習——就像任何Spark實例一樣部署到這些集群。


Google宣佈為Spark推出Kubernetes Operator

Spark Operator架構

根據Google的說法,Spark Operator是一個Kubernetes自定義控制器,它使用自定義資源 (CRDs)來處理Spark應用程序的聲明性規範;它還支持自動重啟和基於cron 的計劃性批處理應用。此外,開發人員、數據工程師和數據科學家可以創建描述其Spark應用程序的聲明性規範,並使用原生Kubernetes工具(例如kubectl )來管理其應用。

二、Spark現狀

在Google Cloud Platform(GCP)的Kubernetes市場上,通過 Google Click to Deploy容器的形式即可使用Spark Operator,從而可以輕鬆將Spark部署到Google Kubernetes Engine(GKE)。但Spark Operator是一個開源項目,可以部署到任何Kubernetes環境,項目的GitHub站點(https://github.com/GoogleCloudPlatform/spark-on-k8s-operator)提供了基於Helm charts的命令行安裝說明。

看看亞馬遜和微軟等公司是否擁抱併為自己的Kubernetes服務(分別為Elastic Container Service/EKS和Azure Kubernetes Service / AKS)提供Spark Operator的簡單部署將會很有趣。這種做法,對於不希望承擔EMR、HDInsight或Databricks工作空間和集群開銷的客戶來說,肯定是一項很好的服務。

三、Hadoop怎麼辦呢?

由於很多非Databricks 的Spark集群實際上都運行在Hadoop上,因此Spark Operator的發佈引發了Hadoop的影響是否正在減弱的問題。不過,Hadoop團隊到是也沒坐以待斃。例如,Open Hybrid Architecture Initiative 項目就在專注於Hadoop的容器化。此外,Hadoop 3.2 上週剛剛發佈 ,除其他功能外,還包括了對Tensorflow 的 原生支持,與Azure Data Lake Storage Gen2的新連接以及增強與Amazon S3 存儲的連接。

歷史總是相似的,這種技術之間的激勵競爭,最終受益的必然還是客戶!

原文鏈接:

https://www.zdnet.com/google-amp/article/google-announces-kubernetes-operator-for-apache-spark/

山金孝 譯


分享到:


相關文章: