【发布时间】:2020-08-20 17:43:25
【问题描述】:
我正在尝试使用以下命令将 Spark 应用程序提交到 minikube k8s 集群(使用的 Spark 版本:2.4.3):
spark-submit \
--master <K8S_MASTER> \
--deploy-mode cluster \
--conf spark.executor.instances=2 \
--conf spark.kubernetes.container.image=<my docker image> \
--conf spark.kubernetes.driver.pod.name=spark-py-driver \
--conf spark.executor.memory=2g \
--conf spark.driver.memory=2g \
local:///home/proj/app/run.py <arguments>
请注意,python 脚本 run.py 存在于我的 docker 镜像中的同一路径中 一旦我完成 Spark 提交,Spark 作业就会启动,并且驱动程序作业会被终止。我只能在 Driver pod 中看到以下日志
[FATAL tini (6)] exec driver-py failed: No such file or directory
我已经通过在 docker 映像上执行 docker run 验证了 pyspark 作业的执行,并且能够看到上面的 python 代码被执行。
这些是失败的驱动程序 pod 的事件
事件:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 52m default-scheduler Successfully assigned ***-develop/run-py-1590847453453-driver to minikube
Warning FailedMount 52m kubelet, minikube MountVolume.SetUp failed for volume "spark-conf-volume" : configmap "run-py-1590847453453-driver-conf-map" not found
Normal Pulled 52m kubelet, minikube Container image "******************:latest" already present on machine
Normal Created 52m kubelet, minikube Created container spark-kubernetes-driver
Normal Started 52m kubelet, minikube Started container spark-kubernetes-driver
【问题讨论】:
-
你能分享你的 docker 文件吗?看起来您没有在容器中为您的应用程序安装卷。
标签: apache-spark kubernetes pyspark