java.io.InvalidClassException

16/12/24 10:30:19 WARN AppClient$ClientEndpoint: Failed to connect to master fengbindeMacBook-Pro.local:7077

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

at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617)

at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)

at org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:75)

 

 

最近出现了这么一个问题,出现这个问题只有一个原因:客户端的类与服务端的类版本不同步,也就是说客户端下载的jar包和服务端的jar包不一致。

解决的方法是:根据异常信息提示的类名找到该jar包,将服务器上用来下载的jar包与服务器真正应用的jar包同步。

spark code 的版本有误, 客户端版本spark-core_2.10  服务端版本是spark-core_2.11

将两个版本统一下就ok

猜你喜欢

转载自fengbin2005.iteye.com/blog/2347077