Vic*_*tor 3 apache-spark kubernetes
我正在本地运行的 Kubernetes(Docker 桌面)中提交 Spark 作业。我能够提交作业并在屏幕上看到它们的最终输出。
但是,即使它们已完成,驱动程序和执行程序 Pod 仍处于 RUNNING 状态。
用于将 Spark 作业提交到 kubernetes 的基本映像是 Spark 附带的映像,如文档中所述。
这是我的spark-submit命令的样子:
~/spark-2.4.3-bin-hadoop2.7/bin/spark-submit \
--master k8s://https://kubernetes.docker.internal:6443 \
--deploy-mode cluster \
--name my-spark-job \
--conf spark.kubernetes.container.image=my-spark-job \
--conf spark.kubernetes.authenticate.driver.serviceAccountName=spark \
--conf spark.kubernetes.submission.waitAppCompletion=false \
local:///opt/spark/work-dir/my-spark-job.py
Run Code Online (Sandbox Code Playgroud)
这就是kubectl get pods返回的内容:
NAME READY STATUS RESTARTS AGE
my-spark-job-1568669908677-driver 1/1 Running 0 11m
my-spark-job-1568669908677-exec-1 1/1 Running 0 10m
my-spark-job-1568669908677-exec-2 1/1 Running 0 10m
Run Code Online (Sandbox Code Playgroud)
弄清楚了。我忘记stop了 Spark 上下文。我的脚本现在看起来像这样,完成后,驱动程序进入Completed状态,驱动程序被删除。
sc = SparkContext()
sqlContext = SQLContext(sc)
# code
sc.stop()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |