GCP推出Spark Operator能在云端以Kubernetes执行Apache Spark

人工智能2021-02-25 06:05:07
最佳答案

GCP现为Apache Spark推出Kubernetes Operator,简称Spark Operator,能够让使用者在云端原生地使用Kubernetes管理Spark应用程式。

Spark Operator由于原生整合Kubernetes,可以执行、监控和管理Spark应用程式生命周期。Google提到,Spark Operator为Kubernetes自定义的控制器,能对Spark应用程式进行高精细度的生命周期管理,包括使用可配置的重启政策,自动重新启动Spark应用程式,以及执行使用Cron排程的应用程式。

Spark Operator也提供高度弹性的功能,还整合日誌记录和监控等Kubernetes服务,让使用者可以创建描述Spark应用程式的宣告式规範,并使用Kubernetes原生工具诸如Kubectl,来管理应用程式。使用者能获得通用控制介面,以管理Kubernetes的各式工作负载,简化应用程式管理工作,并提高丛集资源利用率。

Google在Spark Operator中支援Apache Spark 2.4,并为Python和R语言量身定做Docker映像档,供使用者在Kubernetes上执行PySpark和SparkR应用程式。另外,Spark Operator还有客户端模式,允许如Spark Shell等互动式应用程式,以及Jupyter和Apache Zeppelin笔记本等资料科学工具,原生地在Kubernetes上执行。也因为Apache Spark 2.4为Kubernetes新增的强化和修复功能,让其原生Kubernetes整合更加可靠。

Spark Operator整合了多种GCP服务,包括记录和监控服务Stackdriver,以及分析资料仓储BigQuery。其以Prometheus资料格式公开应用程式等级的指标,并自动设置Spark应用程式,提供驱动程式与执行器(Executor)等级的Prometheus指标。结合Prometheus以及Stackdriver,丛集可以自动收集指标并将其发送至Stackdriver进行监控,当应用程式在GKE上执行时,系统将会自动收集驱动程式与执行器日誌,并推送至Stackdriver。

Spark Operator还提供了命令列工具sparkctl,能用来自动检测应用程式在使用者电脑上的相依性,并将其上传至云端储存桶中,并把客户端的本机相依性,替换成储存在云端的应用程式规範,如此便能大幅简化客户端应用程式在Kubernetes环境的相依性设定。

另外,Spark Operator还附带了一个自定义的Spark 2.4 Dockerfile,在应用程式中支援输入或是输出资料至云端储存,Dockerfile也支援Prometheus JMX输出器,当Spark Operator启用Prometheus监控时,该输出器为预设使用和配置应用程式的方法。

免责声明:本文由用户上传,如有侵权请联系删除!