远程Spark任务失败:未找到任何程序集

时间:2017-04-24 13:55:35

标签: scala apache-spark datastax datastax-enterprise

我正在使用此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

1 个答案:

答案 0 :(得分:1)

我已经知道问题是什么了。我运行了不同版本的Spark / Datastax,并且所有版本都使用了相同的文件夹。不知何故,Spark对此感到困惑,并停止这样做并显示错误。

一旦我从Docker运行它,一切都很顺利。