maven - Spark maven Artifact spark-core_2.10和spark-core_2.11之间的区别

标签 maven apache-spark

有人知道这两个spark core神器有什么区别吗? 两者都支持 Spark 最高版本 1.5.1。然而,当我在我的Java应用程序中使用spark-core_2.11并尝试使用spark url (spark://masterIP:Port)连接到独立集群(Spark-1.5.1)时,我最终遇到了同样的错误

WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://sparkMaster@192.168.188.20:7077] has failed, address is now gated for [5000] ms. Reason: [Disassociated] 
ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[appclient-registration-retry-thread,5,main]

Master 还在其日志中记录了兼容性问题:

ERROR Remoting: org.apache.spark.deploy.DeployMessages$RegisterApplication; local class incompatible: stream classdesc serialVersionUID = 352674063933172066, local class serialVersionUID = -5495080032843259921
java.io.InvalidClassException: org.apache.spark.deploy.DeployMessages$RegisterApplication; local class incompatible: stream classdesc serialVersionUID = 352674063933172066, local class serialVersionUID = -5495080032843259921
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:621)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
    at akka.serialization.JavaSerializer$$anonfun$1.apply(Serializer.scala:136)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
    at akka.serialization.JavaSerializer.fromBinary(Serializer.scala:136)
    at akka.serialization.Serialization$$anonfun$deserialize$1.apply(Serialization.scala:104)
    at scala.util.Try$.apply(Try.scala:161)
    at akka.serialization.Serialization.deserialize(Serialization.scala:98)
    at akka.remote.serialization.MessageContainerSerializer.fromBinary(MessageContainerSerializer.scala:63)
    at akka.serialization.Serialization$$anonfun$deserialize$1.apply(Serialization.scala:104)
    at scala.util.Try$.apply(Try.scala:161)
    at akka.serialization.Serialization.deserialize(Serialization.scala:98)
    at akka.remote.MessageSerializer$.deserialize(MessageSerializer.scala:23)
    at akka.remote.DefaultMessageDispatcher.payload$lzycompute$1(Endpoint.scala:58)
    at akka.remote.DefaultMessageDispatcher.payload$1(Endpoint.scala:58)
    at akka.remote.DefaultMessageDispatcher.dispatch(Endpoint.scala:76)
    at akka.remote.EndpointReader$$anonfun$receive$2.applyOrElse(Endpoint.scala:935)
    at akka.actor.Actor$class.aroundReceive(Actor.scala:467)
    at akka.remote.EndpointActor.aroundReceive(Endpoint.scala:411)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
    at akka.actor.ActorCell.invoke(ActorCell.scala:487)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
    at akka.dispatch.Mailbox.run(Mailbox.scala:220)
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

使用spark-core_2.10时一切正常。

最佳答案

该错误是由于与 scala 版本不匹配造成的。

Spark 是为 scala 2.10.x 和 Spark 2.11.x 编译的,如果您想使用 Scala 2.10,当然如果它安装在您的环境中,您将需要 Spark-core_2.10 和 Spark -core_2.11 适用于 Scala 2.11。

PS:在某个时候,我认为它也适用于 scala 2.9

关于maven - Spark maven Artifact spark-core_2.10和spark-core_2.11之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33386845/

相关文章:

java - 在 maven 上运行时出现 OutOfMemory Java 堆空间,即使内存已增加

java - Intellij maven项目编译 fatal error : invalid flag: --release

java - 未找到命令 'web mvc all --package ~.web'

java - 如果没有本地仓库并且没有为maven设置环境变量,spring boot如何使用maven?

maven - 从 maven-antrun-plugin 中的私有(private)存储库请求自定义 ant 任务

python - 在 Pyspark 中执行类似 Excel 的 "vlookup"方法

apache-spark - 如何在 Databricks 中配置自定义 Spark 插件?

apache-spark - Spark : Measuring performance of ALS

json - 如何使用Spark SQL解析对象的JSON数组

apache-spark - Apache Spark-大数据