spark提交在k8s集群中失败

avwztpqn  于 2021-05-27  发布在  Spark
关注(0)|答案(2)|浏览(654)

我正在尝试使用以下命令将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 submit,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
emeijp43

emeijp431#

我正在使用我的组织的一个基本图像。但是关于坐骑的问题只是一个警告,吊舱在那之后被成功分配。

FROM <project_repo>/<proj>/${SPARK_ALPINE_BUILD}
ENV SPARK_OPTS --driver-java-options=-Dlog4j.logLevel=info
ENV SPARK_MASTER "spark://spark-master:7077"

ADD https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar $SPARK_HOME/jars
ADD https://repo1.maven.org/maven2/com/datastax/spark/spark-cassandra-connector_2.11/2.3.2/spark-cassandra-connector_2.11-2.3.2.jar $SPARK_HOME/jars
USER root

# set environment variables

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /home/<proj>/app

# copy files

COPY src/configs ./configs
COPY src/dependencies ./dependencies
COPY src/jobs ./jobs
COPY src/run.py ./run.py
COPY run.sh ./run.sh 
COPY src/requirements.txt . 

# install packages here

RUN set -e; \
  pip install --no-cache-dir -r requirements.txt;
vmdwslir

vmdwslir2#

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

相关问题