AWS上的DC / OS群集上的Spark作业

时间:2016-05-19 14:27:03

标签: apache-spark mesos mesosphere dcos

我正在尝试在AWS上的Spark on DC / OS上运行批处理。对于每个批处理过程,我在发送提交时都会发送一些特定的参数(例如,用户可以执行批处理)。

我在DC / OS上有一个Spark群集,有一个主节点和3个私有节点。

我创建了一个application.conf文件并将其上传到S3,并启用了访问该文件的权限。

我的spark submit命令如下所示:

  

dcos spark run --submit-args =' - Dspark.mesos.coarse = true --driver-class-path https://path_to_the_folder_root_where_is_the_file --conf spark.driver.extraJavaOptions = -Dconfig.file = application.conf --conf spark.executor.extraJavaOptions = -Dconfig.file = application.conf --class class_name jar_location_on_S3'

我收到找不到job.properties文件的错误:

  

线程“main”中的异常com.typesafe.config.ConfigException $ Missing:找不到键'wattio-batch'的配置设置       在com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:124)       在com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:145)       在com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:159)       在com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:164)       在com.typesafe.config.impl.SimpleConfig.getObject(SimpleConfig.java:218)       在com.typesafe.config.impl.SimpleConfig.getConfig(SimpleConfig.java:224)       在com.typesafe.config.impl.SimpleConfig.getConfig(SimpleConfig.java:33)       at com.enerbyte.spark.jobs.wattiobatch.WattioBatchJob $ .main(WattioBatchJob.scala:31)       at com.enerbyte.spark.jobs.wattiobatch.WattioBatchJob.main(WattioBatchJob.scala)       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)       at java.lang.reflect.Method.invoke(Method.java:498)       在org.apache.spark.deploy.SparkSubmit $ .org $ apache $ spark $ deploy $ SparkSubmit $$ runMain(SparkSubmit.scala:786)       在org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1(SparkSubmit.scala:183)       在org.apache.spark.deploy.SparkSubmit $ .submit(SparkSubmit.scala:208)       在org.apache.spark.deploy.SparkSubmit $ .main(SparkSubmit.scala:123)       在org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

如何正确设置?虽然其中一个私有从属执行驱动程序,但它是否可以访问Internet(是否可以转到S3并下载conf文件)?

谢谢

1 个答案:

答案 0 :(得分:0)

我没有成功从spark submit命令发送conf文件,但我所做的是使用以下方法在程序开头硬编码application.conf文件的位置:

System.setProperty("config.url", "https://s3_location/application.conf") ConfigFactory.invalidateCaches()

这样,程序每次启动时都能读取application.conf文件。