尝试使用Spark运行JAR文件时找不到类异常

时间:2018-10-07 18:35:34

标签: scala apache-spark

我正在关注Spark Quick Start tutorial page

我到了最后一点,将文件编译为JAR,应该可以使用了。

从终端运行我的应用程序:

spark-submit --class "SimpleApp" --master local[4] /usr/local/spark/target/scala-2.11

给出以下错误:

2018-10-07 20:29:17 WARN  Utils:66 - Your hostname, test-ThinkPad-X230 resolves to a loopback address: 127.0.1.1; using 172.17.147.32 instead (on interface wlp3s0)
2018-10-07 20:29:17 WARN  Utils:66 - Set SPARK_LOCAL_IP if you need to bind to another address
2018-10-07 20:29:17 WARN  NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
java.lang.ClassNotFoundException: SimpleApp
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.spark.util.Utils$.classForName(Utils.scala:239)
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:851)
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:198)
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:228)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:137)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
2018-10-07 20:29:18 INFO  ShutdownHookManager:54 - Shutdown hook called
2018-10-07 20:29:18 INFO  ShutdownHookManager:54 - Deleting directory /tmp/spark-08d94e7e-ae24-4892-a704-727a6caa1733

为什么找不到我的SimpleApp类?我试图给它完整的路径。我的SimpleApp.scala在我的Spark根文件夹/usr/local/spark/

2 个答案:

答案 0 :(得分:1)

部署应用以触发火花的最佳方法是使用sbt assembly插件。它将创建一个包含所有依赖项的胖jar。打包应用程序后,您必须将spark直接指向jar。 祝你好运。

答案 1 :(得分:0)

在您的Spark提交中添加您的Spark JAR。提交火花提交的外观如下:

  

./ bin / spark-submit      - 类      - 主     -部署模式     

application-jar是您已构建的JAR文件。

希望这会有所帮助:)