从我的应用程序中,由于以下错误,我无法连接到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上运行 ?
答案 0 :(得分:0)
这与类兼容性问题有关。对于Spark 2.1.0,请检查Scala,Hadoop库的版本(在jar文件夹下)。您需要在应用中保留相同的版本。如果通过IDE(例如eclipse)运行,则按ctrl + shift + T并检查是否存在多个版本的spark-core。
这对我有用。
答案 1 :(得分:0)
Scala版本必须与库中的版本匹配,例如对于Scala 2.11,您应该使用CollectionType
库。