Класс не найден исключение при попытке запустить файл JAR с Spark - PullRequest
0 голосов
/ 07 октября 2018

Я следую Страница учебного пособия по быстрому старту Spark

Я достиг последней точки, скомпилировал файл в 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 голосов
/ 07 октября 2018

Лучший способ развернуть ваше приложение на spark - использовать плагин sbt assembly .Это создаст толстую банку, которая содержит все ваши зависимости.После упаковки вашего приложения вы должны указать искру непосредственно на банку.Удачи.

0 голосов
/ 07 октября 2018

Добавьте свой Spark JAR в свою искру.Подтверждение отправки-отправки выглядит следующим образом:

. / Bin / spark-submit --class --master --deploy-mode

application-jar - этоФайл JAR, который у вас есть.

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...