首页 > 解决方案 > Kubernetes 上的 spark-submit 自定义 jar 失败:加载类失败

问题描述

我无法在 Kubernetes 上运行自定义 Spark 应用程序。

我已经按照设置https://spark.apache.org/docs/latest/running-on-kubernetes.html和 examplel 上的步骤如下:https ://towardsdatascience.com/how-to-build-spark- from-source-and-deploy-it-to-a-kubernetes-cluster-in-60-minutes-225829b744f9 我可以运行 spark-pi 示例。

我什至重新创建了 spark 图像,并让它在 /opt/spark/examples/jars 和 /opt/spark/jars 中都包含我的 xxx.jar,但我仍然遇到加载类失败的问题。我可能错过的任何想法。这对我来说更加莫名其妙,因为我检查了 jar 是否是示例 jar 旁边的图像的一部分,并且它们工作正常。

我像这样运行 spark-submit。

bin/spark-submit
--master k8s://https://localhost:6443
--deploy-mode cluster
--conf spark.executor.instances=3
--conf spark.kubernetes.authenticate.driver.serviceAccountName=spark
--conf spark.kubernetes.container.image=spark2:latest
--conf spark.kubernetes.container.image.pullPolicy=Never
--class com.xxx.Application
--name myApp
local:///opt/spark/examples/jars/xxx.jar

更新:添加堆栈跟踪:

spark.driver.bindAddress=10.1.0.68 --deploy-mode client --properties-     file /opt/spark/conf/spark.properties --class com.xxx.Application    local:///opt/spark/examples/jars/xxx.jar

20/05/13 11:02:09 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Error: Failed to load class com.xxx.Application.
log4j:WARN No appenders could be found for logger (org.apache.spark.util.ShutdownHookManager).

谢谢!

标签: apache-sparkkubernetes

解决方案


使用 Replace验证您引用的 jar 是否有Application.class文件com.xxx.Application.classjar xf <jar name>.jar

local:///opt/spark/examples/jars/xxx.jar

/opt/spark/examples/jars/xxx.jar

在你的spark-submit指挥下


推荐阅读