我们正在运行HortonWorks Spark Distribution 2.1。我们注意到,当我们使用yarn-cluster作为master运行Spark时,无论我们传递什么作为executors.extraJavaOptions都被完全忽略,并且作业在执行程序中维护默认值(通过Spark UI看到)。
我想知道是否有人注意到任何类似的东西并且有一些智慧可以分享。我很乐意提供所需的更多细节。
更新:这是执行的命令以及选项,如下所示:
spark-submit --name streaming-driver --num-executors 40
--conf spark.metrics.conf=streaming.metrics.properties
--files kafka_client_jaas.conf#kafka_client_jaas.conf,
appconf.conf#appconf.conf,
streaming.metrics.properties#streaming.metrics.properties,
kafka.conf#kafka.conf,log4j.properties#log4j.properties
--conf "spark.executor.extraJavaOptions=
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=0
-Dcom.sun.management.jmxremote.rmi.port=0
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.local.only=false
-Djava.security.auth.login.config=./kafka_client_jaas.conf
-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
--conf spark.metrics.conf=streaming.metrics.properties
--conf spark.hadoop.yarn.timeline-service.enabled=false
--driver-java-options="
-Dhdp.version=2.5.3.0-37 -Dconfig.file=appconf.conf
-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode
-Dlog4j.configuration=log4j.properties
-Djava.security.auth.login.config=./kafka_client_jaas.conf
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=0
-Dcom.sun.management.jmxremote.rmi.port=0
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.local.only=false"
--master yarn-cluster
--driver-memory "6g"
--properties-file spark.conf --class < class> application.jar
请注意,由于其他一些安全参数(例如keytabs等),这一点略有修改。也不存在换行符,只是为了使其更具可读性。
答案 0 :(得分:0)
看起来你正在将spark.executor.extraJavaOptions
proery包裹在双引号中。我认为只有值应该在引号内部这样的东西:
--conf spark.executor.extraJavaOptions="
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=0
-Dcom.sun.management.jmxremote.rmi.port=0
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.local.only=false
-Djava.security.auth.login.config=./kafka_client_jaas.conf
-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"