Ошибка запуска Spark 2.0 в автономном режиме: NoClassDefFoundError: scala / runtime/

#scala #maven #intellij-idea #apache-spark #spark-streaming

#scala #maven #intellij-идея #apache-spark #искровая потоковая передача

Вопрос:

Я хочу запустить простое потоковое приложение Spark в автономном режиме в Spark 2.0. У меня есть одна виртуальная машина Ubuntu, выступающая в качестве рабочей, а мой хост Windows — в качестве ведущего. Для написания приложения я использовал IntelliJ IDE с зависимостями maven. Вот проблема: я запускаю мастер с помощью:

 spark-class org.apache.spark.deploy.master.Master
  

Затем в виртуальной машине я запускаю рабочий, используя

 start-slave.sh <spark://IP>
  

Затем я передаю этот основной URL-адрес в свой контекст SparkStreaming в IntelliJ следующим образом:

 SparkConf sparkConfiguration= new SparkConf().setAppName("App1").setMaster("spark://IP")
  

Проблема заключается в следующем: когда я запускаю приложение в IntelliJ, оно успешно подключается к ведущему, и я даже вижу, что приложение запущено, вот так:

введите описание изображения здесь

но появляется эта ошибка: java.lang.ClassNotFoundException: scala.runtime.AbstractPartialFunction$mcVL$sp

Я использую точно ту же версию scala в своих зависимостях Maven, что и версия, которую я использую на своей виртуальной машине и хосте, и правильно установил переменную среды SCALA_HOME

   <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>2.11.8</version>
  </dependency> 
  

Я понятия не имею, что еще делать. Кто-нибудь может мне помочь? Большое вам спасибо.

Комментарии:

1. Проверяли ли вы совместимость между версией Scala, установленной в вашей системе, и теми, которые вы используете в своей сборке maven?

2. @eliasah, да, когда я scala -version это делаю, появляется Scala code runner version 2.11.8 , так что это точно то же самое, что я использую в maven.

3. @manuelmourato смогли ли вы решить эту проблему? Я сталкиваюсь с очень похожей проблемой.