我有一个在aws的dc/os上运行的流媒体作业。当我第一次运行这个作业,并将checkpoint folder指定为awss3时,一切都很顺利。
在我停止它并再次启动它之后,我希望流式处理可以从检查点恢复,但出现以下错误:
error sparkcontext:初始化sparkcontext时出错。java.lang.exception:不允许spark.executor.extrajavaoptions设置spark选项(was'-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到amazon s3
问题似乎是,当从检查点文件重新创建spark上下文时,它试图更改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 stack)上测试了相同的awss3检查点配置,并且流恢复正确。这意味着dcos spark参数和属性中存在错误。
我还提出了jira问题:https://dcosjira.atlassian.net/browse/dcos-131
暂无答案!
目前还没有任何答案,快来回答吧!