我正在尝试使用以下命令将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
答案 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版。