Spark提交在k8s集群中失败

时间:2020-05-30 15:19:32

标签: apache-spark kubernetes pyspark

我正在尝试使用以下命令将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作业就会启动,驱动程序作业会被杀死。我只能在“驱动程序”窗格中看到以下日志

[FATAL tini (6)] exec driver-py failed: No such file or directory

我已经通过在docker映像上运行docker验证了pyspark作业的执行,并且能够看到上述python代码已执行。

这些是失败的驱动程序窗格的事件

事件:

  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

2 个答案:

答案 0 :(得分:1)

我正在使用组织中的基本图像之一。但是有关安装的问题只是警告,并且在此之后成功分配了吊舱。

a_set = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
q_act = {2, 3}    
dur = [0, 4, 5, 2, 1, 3, 4, 8, 2, 3]

p_dur_q_act = [d for a, d in zip(a_set, dur) if a in q_act]

答案 1 :(得分:0)

使用的spark提交不是3.0.0版本。您还需要将使用spark提交的spark安装更改为3.0.0版。