我正在使用此conf:
在Vanilla Spark(Datastax)中运行Spark作业val conf: SparkConf = new SparkConf()
.setAppName("Fuzzy")
.setMaster("spark://127.0.0.1:7077")
.set("spark.cores.max", "2")
.setJars(Seq("my-jar"))
val sc: SparkContext = SparkContext.getOrCreate(conf)
val NUM_SAMPLES: Int = 500
val join = sc.parallelize(1 to NUM_SAMPLES).filter { _ =>
val x = math.random
val y = math.random
x*x + y*y < 1
}.count()
println(s"Pi is roughly ${4.0 * join / NUM_SAMPLES}")
这是一个Spark示例。
当我和本地[2]一起运行时很好,但是当我使用外部Spark时它会失败。
17/04/24 14:44:20 INFO SparkDeploySchedulerBackend:要求删除不存在的执行程序139 17/04/24 14:44:20 INFO SparkDeploySchedulerBackend:授权执行者ID app-20170424144418-0012 / 140 on hostPort 127.0.0.1:51227,2核,512.0 MB RAM 17/04/24 14:44:20 INFO AppClient $ ClientEndpoint:Executor更新:app-20170424144418-0012 / 140现在正在运行 17/04/24 14:44:20 INFO AppClient $ ClientEndpoint:Executor已更新:app-20170424144418-0012 / 140现已失败(java.lang.IllegalStateException:在&#39; / Users / jta / Downloads /中找不到任何程序集DSE-5.0.6-2 / DSE-5.0.6 /资源/火花/ lib中&#39 ;.) 17/04/24 14:44:20 INFO SparkDeploySchedulerBackend:Executor app-20170424144418-0012 / 140已删除:java.lang.IllegalStateException:在/Users/jta/Downloads/dse-5.0.6-中找不到任何程序集2 / DSE-5.0.6 /资源/火花/ lib中&#39 ;. 17/04/24 14:44:20 INFO BlockManagerMaster:删除请求的执行程序140 1
答案 0 :(得分:1)
我已经知道问题是什么了。我运行了不同版本的Spark / Datastax,并且所有版本都使用了相同的文件夹。不知何故,Spark对此感到困惑,并停止这样做并显示错误。
一旦我从Docker运行它,一切都很顺利。