0

我有一个在 AWS 上的 DC/OS 上运行的流式作业。当我第一次运行该作业并将检查点文件夹指定为 AWS S3 时,一切顺利。

在我停止它并重新启动它之后,我希望流式传输能够从检查点恢复,但我收到以下错误:

错误 SparkContext:初始化 SparkContext 时出错。java.lang.Exception:spark.executor.extraJavaOptions 不允许设置 Spark 选项(原为'-Dspark.mesos.executor.docker.image=mesosphere/spark:1.0.0-1.6.1-2')。使用 ./bin/spark-submit 时,直接在 SparkConf 或属性文件中设置它们。

我使用https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/streaming/RecoverableNetworkWordCount.scala中的示例设置了可恢复的流,

并连接到 S3 以进行检查:Spark Streaming checkpoint to amazon s3

问题似乎是,当从检查点文件重新创建火花上下文时,它会尝试更改spark.mesos.executor.docker.image属性,但我根本没有设置它。

我的 spark 配置非常简单,如下所示:

val conf = new SparkConf()
    .setAppName("wattio-pipeline")

有没有人遇到过类似的问题。

已编辑

我尝试以所有这些方式设置 spark conf:

val conf = new SparkConf()
    .setAppName("wattio-pipeline")
    .setExecutorEnv("SPARK_JAVA_OPTS","")
      .remove("spark.executor.extraJavaOptions")
      .remove("spark.mesos.executor.docker.image")
    //.set("spark.executor.extraJavaOptions","")
    //.set("spark.mesos.executor.docker.image","mesosphere/spark:1.0.0-1.6.1-2")

但出现同样的错误。

已编辑 2

我已经在我的本地开发机器(我们自己安装的 SMACK 堆栈)上测试了相同的 AWS S3 检查点配置,并且流媒体可以正确恢复。这意味着 DCOS 火花参数和属性存在错误。

我还提交了 JIRA 问题:https ://dcosjira.atlassian.net/browse/DCOS-131

4

0 回答 0