使用--jars选项时,Spark会抛出ClassNotFoundException

 酷的带_201 发布于 2023-01-02 01:46

我试图遵循这里描述的Spark独立应用程序示例 https://spark.apache.org/docs/latest/quick-start.html#standalone-applications

该示例在以下调用中运行良好:

spark-submit  --class "SimpleApp" --master local[4] target/scala-2.10/simple-project_2.10-1.0.jar

但是,当我尝试通过引入一些第三方库时--jars,它会抛出ClassNotFoundException.

$ spark-submit --jars /home/linpengt/workspace/scala-learn/spark-analysis/target/pack/lib/* \
  --class "SimpleApp" --master local[4] target/scala-2.10/simple-project_2.10-1.0.jar

Spark assembly has been built with Hive, including Datanucleus jars on classpath
Exception in thread "main" java.lang.ClassNotFoundException: SimpleApp
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:247)
    at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:300)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

删除--jars选项和程序再次运行(我实际上还没有开始使用这些库).这有什么问题?我该如何添加外部罐子?

1 个回答
  • 根据spark-submit's --help,该--jars选项期望在驱动程序和执行程序类路径中包含逗号分隔的本地jar列表.

    我认为这里发生的事情/home/linpengt/workspace/scala-learn/spark-analysis/target/pack/lib/*是扩展到一个空间分隔的jar列表,​​列表中的第二个JAR被视为应用程序jar.

    一种解决方案是使用shell来构建以逗号分隔的jar列表; 基于StackOverflow上的这个答案,这里有一个在bash中快速完成的方法(请参阅处理包含空格的文件名的更复杂方法的答案):

    spark-submit --jars $(echo /dir/of/jars/*.jar | tr ' ' ',') \
        --class "SimpleApp" --master local[4] path/to/myApp.jar
    

    2023-01-02 02:19 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有