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

Scala 尝试使用Spark运行JAR文件时,类未找到异常,scala,apache-spark,Scala,Apache Spark,我在跟踪 我到了最后一点,将我的文件编译成一个JAR,应该可以使用了 从终端运行我的应用程序: spark提交-类SimpleApp-主本地[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

我在跟踪

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

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

spark提交-类SimpleApp-主本地[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/

在Spark提交中添加您的Spark JAR。spark提交如下所示:

/bin/spark提交 -阶级 -主人 -部署模式

applicationjar是您构建的jar文件


希望这有帮助:

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

你必须直接指向你的.jar。以前,你们应该像教程中所说的那个样使用sbt包来构建它。我已经这样做了,它可以工作了!好像我错过了谢谢