Подтвердить что ты не робот

Локальный класс несовместим Исключение: при запуске искры автономно от IDE

Я начинаю испытывать искру. Я установил искру на свою локальную машину и запустил локальный кластер с одним рабочим. когда я попытался выполнить свою работу из своей IDE, установив sparconf следующим образом:

final SparkConf conf = new SparkConf().setAppName("testSparkfromJava").setMaster("spark://XXXXXXXXXX:7077");
final JavaSparkContext sc = new JavaSparkContext(conf);
final JavaRDD<String> distFile = sc.textFile(Paths.get("").toAbsolutePath().toString() + "dataSpark/datastores.json");*

Я получил это исключение:

java.lang.RuntimeException: java.io.InvalidClassException: org.apache.spark.rpc.netty.RequestMessage; local class incompatible: stream classdesc serialVersionUID = -5447855329526097695, local class serialVersionUID = -2221986757032131007
4b9b3361

Ответ 1

Все, что работает с ниже сочетанием версий

Установленная искра 1.6.2

проверить с помощью bin/spark-submit --version

<dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>1.6.2</version>
</dependency>

и

Scala 2.10.6 и Java 8.

Заметьте, что он работал НЕ и имеет аналогичную несовместимую проблему с версиями

Scala 2.11.8 и Java 8

<dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>1.6.2</version>
</dependency>

Ответ 2

Посмотрите, что ваша версия Spark не такая же, как версия Spark, используемая в вашей среде IDE.

Если вы используете maven, просто сравните версию зависимостей, объявленную в pom.xml, и вывод bin/spark-submit --version и убедитесь, что они одинаковы.

Ответ 3

Это может быть несколько несовместимых причин ниже:

  • версия Hadoop;
  • версия Spark;
  • Scala версия;
  • ...

Для меня, версия Scala, я использую 2.11.X в своей IDE, но официальный документ говорит:

Spark runs on Java 7+, Python 2.6+ and R 3.1+. For the Scala API, Spark 1.6.1 uses Scala 2.10. You will need to use a compatible Scala version (2.10.x).

и x в документе сообщили, что не может быть меньше 3, если вы используете последнюю версию Java (1.8), вызывают это. Надеюсь, это поможет вам!