java.io.InvalidClassException:org.apache.spark.rpc.netty.RequestMessage

时间:2017-05-16 06:39:21

标签: apache-spark

从我的应用程序中,由于以下错误,我无法连接到spark master

  

引起:java.lang.RuntimeException:java.io.InvalidClassException:   org.apache.spark.rpc.netty.RequestMessage;本地类不兼容:   stream classdesc serialVersionUID = -2221986757032131007,本地类   serialVersionUID = -5447855329526097695

我知道存在版本兼容性问题,但无法解决它,因为它对我来说似乎很好。以下是我的版本信息

应用程序(Tomcat)Java 7

Spark安装2.1.0

./spark-shell --version 

Welcome to
         ____              __
        / __/__  ___ _____/ /__    _\ \/ _ \/ _ `/ __/  '_/   /___/ .__/\_,_/_/ /_/\_\   version 2.1.0
         /_/

Using Scala version 2.11.8, Java HotSpot(TM) 64-Bit Server VM, 1.8.0_91 

Maven依赖

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

是因为我的应用程序是在Java 7上,而Spark 2.1在Java 8上运行

2 个答案:

答案 0 :(得分:0)

这与类兼容性问题有关。对于Spark 2.1.0,请检查Scala,Hadoop库的版本(在jar文件夹下)。您需要在应用中保留相同的版本。如果通过IDE(例如eclipse)运行,则按ctrl + shift + T并检查是否存在多个版本的spark-core。

这对我有用。

答案 1 :(得分:0)

Scala版本必须与库中的版本匹配,例如对于Scala 2.11,您应该使用CollectionType库。