在mesos群集上运行spark流时缺少java系统属性

hujrc8aj  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(458)

我向mesos集群提交一个spark应用程序(在集群模式下运行),并通过 "--drive-java-options=-Dkey=value -Dkey=value" ,但是这些系统属性在运行时不可用,似乎它们没有设置。 --conf "spark.driver.extraJavaOptions=-Dkey=value" 也不管用
更多细节:命令是

bin/spark-submit --master mesos://10.3.101.119:7077 --deploy-mode cluster --class ${classname} --driver-java-options "-Dconfiguration.http=http://10.3.101.119:9090/application.conf" --conf "spark.executor.extraJavaOptions=-Dconfiguration.http=http://10.3.101.119:9090/application.conf" ${jar file}

我有一个两节点的mesos集群,一个节点同时运行master和slave,另一个只运行slave。我在主节点上提交spark应用程序。
在内部,应用程序希望从java系统属性“configuration.http”读取一个配置文件,如果该属性不可用,应用程序将从类路径的根目录加载一个默认文件。当我提交应用程序时,从日志中,我看到默认配置文件已加载。
运行应用程序的实际命令是

"sh -c '/home/ubuntu/spark-1.6.0/bin/spark-submit --name ${appName} --master mesos://zk://10.3.101.184:2181/mesos/grant --driver-cores 1.0 --driver-memory 1024M --class ${classname} ./${jar file} '"

从这里可以看到系统属性丢失

xggvc2p6

xggvc2p61#

您可以看看这篇博客文章,其中建议为此使用外部属性文件:

$ vi app.properties
spark.driver.extraJavaOptions   -Dconfiguration.http=http://10.3.101.119:9090/application.conf
spark.executor.extraJavaOptions –Dconfiguration.http=http://10.3.101.119:9090/application.conf

然后试着通过

bin/spark-submit --master mesos://10.3.101.119:7077 --deploy-mode cluster --class ${classname} —-properties-file app.properties ${jar file}

看见
如何将-d参数或环境变量传递给spark作业?
从apachespark中分离日志

相关问题