我向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} '"
从这里可以看到系统属性丢失
1条答案
按热度按时间xggvc2p61#
您可以看看这篇博客文章,其中建议为此使用外部属性文件:
然后试着通过
看见
如何将-d参数或环境变量传递给spark作业?
从apachespark中分离日志