我正在尝试使用Cassandra Spark连接器将RDD与Cassandra表进行连接:
samplerdd.joinWithCassandraTable(keyspace, CassandraParams.table)
.on(SomeColumns(t.date as a.date,
t.key as a.key)
在单机模式下可以正常工作,但在集群模式下执行时出现以下错误:
Job aborted due to stage failure: Task 6 in stage 0.0 failed 4 times, most recent failure: Lost task 6.3 in stage 0.0 (TID 20, 10.10.10.51): java.io.InvalidClassException: com.datastax.spark.connector.rdd.CassandraJoinRDD; local class incompatible: stream classdesc serialVersionUID = 6155891939893411978, local class serialVersionUID = 1245204129865863681
我已经检查了主节点和从节点的jar包,看起来版本是一样的。
我正在使用Spark 2.0.0,Cassandra 3.7,Cassandra-Spark连接器2.0.0 M2,Cassandra驱动程序核心3.1.0和Scala 2.11.8。
可能出现了什么问题?
spark-submit --jars <deps...>
来提交你的作业。请参阅http://spark.apache.org/docs/latest/submitting-applications.html#advanced-dependency-management。 - maasg