在kubernetes上提交Spark,即使在Spark作业完成后,executor pod仍在运行.因此,资源不能免费



我们使用集群模式和更多的内存配置将spark作业提交到kubernetes集群中。我的工作大约在5分钟后完成,但我的执行器吊舱在30-40分钟后仍在运行。因此,由于资源仍绑定到正在运行的pod,新作业处于挂起状态。

下面是spark-submit命令:

/spark-2.4.4-bin-hadoop2.7/bin/spark-submit --deploy-mode cluster --class com.Spark.MyMainClass --driver-memory 3g --driver-cores 1 --executor-memory 12g --executor-cores 3 --master k8s://https://masterhost:6443 --conf spark.kubernetes.namespace=default --conf spark.app.name=myapp1 --conf spark.executor.instances=3 --conf spark.kubernetes.driver.pod.name=myappdriver1 --conf spark.kubernetes.container.image=imagePath --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark --conf spark.kubernetes.driver.container.image=imagePath --conf spark.kubernetes.executor.container.image=imagePath local:///opt/spark/jars/MyApp.jar

您需要添加

sparkSession.stop()

在代码的末尾

最新更新