【发布时间】:2016-11-05 22:45:09
【问题描述】:
我正在尝试提交 Spark 作业
它是这样开始的:
import javax.xml.parsers.{SAXParser, SAXParserFactory}
import org.apache.spark
import org.apache.spark.graphx.{Graph, Edge, VertexId}
import org.apache.spark.rdd.{PairRDDFunctions, RDD}
import org.apache.spark.storage.StorageLevel
import org.apache.spark.{SparkContext, SparkConf}
import scala.util.Try
import org.apache.log4j.{Level, Logger}
object MyApp {
def main(args: Array[String]) {
val sparkConf = new SparkConf().setAppName("MyApp")
val sc = new SparkContext(sparkConf)
当我启动它时,我收到以下错误:
App > Exception in thread "main" java.lang.NoSuchMethodError: scala.runtime.VolatileObjectRef.zero()Lscala/runtime/VolatileObjectRef;
App > at MyApp$.main(MyApp.scala)
App > at MyApp.main(MyApp.scala)
App > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
App > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
App > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
App > at java.lang.reflect.Method.invoke(Method.java:606)
App > at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:328)
App > at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)
App > at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
我做错了什么?
编辑:包括完整的堆栈跟踪。 使用 Scala 2.10 和 Spark 1.2.0。 奇怪的是,在我的罐子里,我有两个班级。当我触发提交一个时,它可以工作(这是一个 4 行的虚拟作业),但是当我运行较长的一个(大约 40 行)时,如果失败并出现上述错误
【问题讨论】:
-
我不知道这个具体情况,但是对于其他类似的问题,这是一个Spark版本冲突。您是否更新了所有内容并重新编译了所有代码?
-
您可以编辑您的问题以包含完整的堆栈跟踪吗?您使用的是哪个 Spark 版本以及如何提交作业(您使用的是
spark-submit?)? -
您好,我编辑了我的问题。我正在使用 spark 1.2.0 和 scala 2.10。这是相同的服务器端。我尝试清理和重新编译,没有运气
-
其实你一定是对的我认为是1.1.0的服务器端。我会仔细检查并确认。感谢这个亮点!代码的一部分是多么奇怪,而不是另一部分
-
你找到有问题的图书馆了吗?
标签: scala apache-spark