apache-spark - 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).
谢谢!
解决方案
使用
Replace验证您引用的 jar 是否有Application.class
文件com.xxx.Application.class
jar xf <jar name>.jar
local:///opt/spark/examples/jars/xxx.jar
和
/opt/spark/examples/jars/xxx.jar
在你的spark-submit
指挥下
推荐阅读
- git - 如何在 Git 中引用存储库的开头
- c# - 在 Azure DevOps Server 2020 中优化 C# 代码覆盖率收集和发布
- python - 如何在文本文件的哪一行找到一个单词
- amazon-web-services - 在 AWS 上运行的 Spring Boot 应用程序中的 504 网关超时
- javascript - 如何从@material-ui 获取对 xgrid 组件的引用
- flutter - 谷歌字体,而粗体不会在 Flutter 应用程序中为 NumberFormat 呈现空格
- powerbi - Power BI 计算度量中某个值的出现次数
- c# - WPF Stylus 不触发事件,而 Touch 确实触发了手写笔事件
- node.js - 当要返回的列表取决于用户的权限时,REST URI 和 GET 请求的缓存
- reporting-services - SSRS Report 只返回单行输出而不是多页输出