Spark with K8S

团队的计算平台目前还在用 apache-spark-on-k8s,也就是 2.2 版本的 Spark,2.3 其实已经老早支持原生的 K8S 调度后台支持了。

apache-spark-on-k8s 分支上应该大部分代码合并进去了的,还有哪些不同,还没有仔细对比过,至少镜像是做了统一的,我认为也是合理的,不然像我们团队,维护好几个不同的镜像,而其实像 Driver 和 Executor 这样的镜像,基本上就是启动参数的细微差别,维护两个确实没有必要。

对比一下两个版本(2.2 vs. 2.4.3)的 Spark-pi 提交脚本。

# 2.2
bin/spark-submit \   --deploy-mode cluster \   --class org.apache.spark.examples.SparkPi \   --master k8s://<k8s-apiserver-host>:<k8s-apiserver-port> \   --kubernetes-namespace default \   --conf spark.executor.instances=5 \   --conf spark.app.name=spark-pi \   --conf spark.kubernetes.driver.docker.image=kubespark/spark-driver:v2.2.0-kubernetes-0.5.0 \   --conf spark.kubernetes.executor.docker.image=kubespark/spark-executor:v2.2.0-kubernetes-0.5.0 \   --conf spark.kubernetes.initcontainer.docker.image=kubespark/spark-init:v2.2.0-kubernetes-0.5.0 \   --conf spark.kubernetes.resourceStagingServer.uri=http://<address-of-any-cluster-node>:31000 \   ./examples/jars/spark-examples_2.11-2.2.0-k8s-0.5.0.jar

# 2.4.3
bin/spark-submit \     --master k8s://https://<k8s-apiserver-host>:<k8s-apiserver-port> \     --deploy-mode cluster \     --name spark-pi \     --class org.apache.spark.examples.SparkPi \     --conf spark.executor.instances=5 \     --conf spark.kubernetes.container.image=<spark-image> \     local:///path/to/examples.jar

你看,明显简洁很多嘛。

节后准备调研一下,推动 Spark on K8S 的方案的升级。

END.

    原文作者:runzhliu
    原文地址: https://zhuanlan.zhihu.com/p/68287369
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞