簡體   English   中英

本地 class 不兼容異常:從 IDE 獨立運行 spark 時

[英]local class incompatible Exception: when running spark standalone from IDE

我開始測試火花。 我在本地機器上安裝了 spark 並使用單個工作人員運行本地集群。 當我嘗試通過如下設置 sparconf 從 IDE 執行我的工作時:

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

在以下版本的組合中都可以使用

已安裝spark 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>

以下可能是多種不兼容的原因:

  • Hadoop版本;
  • Spark版本;
  • Scala版本;
  • ...

對我來說,它的Scala版本,我在IDE中使用2.11.X ,但是官方文檔說:

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).

如果您使用的是最新的Java(1.8),則文檔中的x 不能小於3這是因為 希望對您有幫助!

看起來您安裝的Spark版本與IDE中使用的Spark版本不同。

如果使用的是maven,則只需比較pom.xml中聲明的依賴項的版本和bin/spark-submit --version的輸出,並確保它們相同。

我遇到了這個問題,因為Spark jar依賴項是2.1.0,但安裝的Spark Engine版本是2.0.0,因此版本不匹配,因此會引發此異常。

此問題的根本原因是項目中的Spark jar依賴項版本不匹配,並且正在運行執行Spark作業的已安裝Spark Engine。

因此,請驗證兩個版本並使它們相同。

示例Spark-core Jar版本2.1.0和Spark Computation Engine版本必須為:2.1.0

Spark-core Jar版本2.0.0和Spark Computation Engine版本必須為:2.0.0

它為我完美地工作。

我有這個問題。

當我使用 spark-submit 運行代碼時,它可以工作(而不是使用 IDE 運行)。

 ./bin/spark-submit --master spark://HOST:PORT target/APP-NAME.jar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM