我试图运行一个非常简单的火花作业,它将从我的Azure数据湖中提取一些数据,并使用K8s上的火花算子在屏幕上打印。为此,我使用如下所示的Dockerfile构建了一个映像:
FROM gcr.io/spark-operator/spark-py:v3.1.1
USER root:root
RUN mkdir -p /app
WORKDIR /app
COPY jars/ /opt/spark/jars
COPY simple-etl-job.py /app
WORKDIR /app
USER 1001当我把它作为Kubernetes的作业启动时,它会返回一个错误,它说:
py4j.protocol.Py4JJavaError: An error occurred while calling o56.load.
: java.io.IOException: No FileSystem for scheme: abfss奇怪的是,我正在将用于本地/opt/spark/jars作业的相同jars复制到spark-submit目录中,这些jars与我的K8s代码相同,并且运行成功。这些罐子是:
我还能做什么错事?
P.S.:这是我的火花CRD:
apiVersion: "sparkoperator.k8s.io/v1beta2"
kind: SparkApplication
metadata:
name: simple-spark-etl-job
namespace: spark-operator
spec:
type: Python
mode: cluster
image: "<my-org>/<my-image>:<my-tag>"
imagePullPolicy: Always
mainApplicationFile: "local:///app/simple-etl-job.py"
sparkVersion: "3.1.1"
restartPolicy:
type: OnFailure
onFailureRetries: 3
onFailureRetryInterval: 10
onSubmissionFailureRetries: 5
onSubmissionFailureRetryInterval: 20
driver:
cores: 1
coreLimit: "1200m"
memory: "512m"
labels:
version: 3.1.1
serviceAccount: default
executor:
cores: 1
instances: 2
memory: "512m"
labels:
version: 3.1.1发布于 2022-02-03 09:07:33
这里出现的问题可能是由于openssl安装的版本与新机器或环境中的wildfly-openssl-*.jar不兼容,或者是在Docker映像中添加hadoop-azure包时出现的。
请检查将通配符-openssl-*.final.jar升级到最新版本是否有帮助。还检查JDK版本不匹配
还可以查看jars的订单是否与这有任何不同
https://stackoverflow.com/questions/70926753
复制相似问题