【发布时间】:2016-01-15 19:22:26
【问题描述】:
我设置了一个包含多个节点的远程 Spark 独立集群。为此我下载了这个 Spark 版本:spark-1.5.1-bin-hadoop1(因为我们有一个旧的 Hadoop 1 服务正在运行)
在我的本地 Scala 程序中,我定义了主节点的路径:
val conf = new SparkConf().setMaster("spark://node01.kdlan:7078").setAppName("My App")
val sc = new SparkContext(conf)
启动本地本地程序时,我在日志中看到此错误:
16/01/15 10:35:34 WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://sparkMaster@node01.kdlan:7078] has failed, address is now gated for [5000] ms. Reason: [Disassociated]
在远程主机上,我可以在 Spark 日志文件中看到:
16/01/15 10:35:34 WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://sparkDriver@myip:43288] has failed, address is now gated for [5000] ms. Reason is: [scala.Option; local class incompatible: stream classdesc serialVersionUID = -114498752079829388, local class serialVersionUID = -2062608324514658839].
16/01/15 10:35:34 INFO Master: myip:43288 got disassociated, removing it.
我在某处读到 Spark 依赖项应该标记为“已提供”,我在 build.sbt 中这样做了。没有定义其他库依赖项。
scalaVersion := "2.11.7"
libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "1.5.1" % "provided"
Spark版本匹配(1.5.1),Scala主版本也匹配(2.11),那么不兼容的Scala Option类是从哪里来的,如何解决呢?
【问题讨论】:
-
你是如何安装 Spark 的?因为默认的 Spark 安装使用的是 Scala 2.10。如果您确实想使用 Scala 2.11,您必须使用 Scala 2.11 正确编译 Spark 并安装您的编译版本。
-
@mark91 我只是从 Spark 主页下载了 zip "spark-1.5.1-bin-hadoop1.tgz" - 我自己没有编译它。感谢您的提示,这看起来很有希望。我会告诉我是否成功。
标签: scala apache-spark