Tillägg av en konfigurationsinställning skriver över alla spark.executor.extraJavaOptionsstandardinställningar

Problem

När du lägger till en konfigurations inställning genom att ange den i text rutan Apache Spark-konfiguration ersätter den nya inställningen befintliga inställningar i stället för att läggas till.

Version

Databricks Runtime 5,1 och nedåt.

Orsak

När klustret startas om läser klustret inställningar från en konfigurations fil som skapas i kluster gränssnittet och skriver över standardinställningarna.

Till exempel när du lägger till följande extraJavaOptions i text rutan Spark-konfiguration :

spark.executor.extraJavaOptions -
javaagent:/opt/prometheus_jmx_exporter/jmx_prometheus_javaagent.jar=9404:/opt/prometheus
_jmx_exporter/jmx_prometheus_javaagent.yml

I Spark UI > Environment > Spark-egenskaper under spark.executor.extraJavaOptions , visar bara den nyligen tillagda konfigurations inställningen:

-javaagent:/opt/prometheus_jmx_exporter/jmx_prometheus_javaagent.jar=9404:/opt/prometheus
_jmx_exporter/jmx_prometheus_javaagent.yml

Alla befintliga inställningar tas bort.

Som referens är standardinställningarna:

-Djava.io.tmpdir=/local_disk0/tmp -XX:ReservedCodeCacheSize=256m -
XX:+UseCodeCacheFlushing -Ddatabricks.serviceName=spark-executor-1 -
Djava.security.properties=/databricks/spark/dbconf/java/extra.security -XX:+PrintFlagsFinal -
XX:+PrintGCDateStamps -verbose:gc -XX:+PrintGCDetails -Xss4m -
Djavax.xml.datatype.DatatypeFactory=com.sun.org.apache.xerces.internal.jaxp.datatype.Dataty
peFactoryImpl -
Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.Documen
tBuilderFactoryImpl -
Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFact
oryImpl -
Djavax.xml.validation.SchemaFactory=https://www.w3.org/2001/XMLSchema=com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory -
Dorg.xml.sax.driver=com.sun.org.apache.xerces.internal.parsers.SAXParser -
Dorg.w3c.dom.DOMImplementationSourceList=com.sun.org.apache.xerces.internal.dom.DOMX
SImplementationSourceImpl

Lösning

Så här lägger du till en ny konfigurations inställning spark.executor.extraJavaOptions utan att förlora standardinställningarna:

  1. I Spark UI > miljö > Spark-egenskaper väljer och kopierar du alla egenskaper som är inställda som standard för spark.executor.extraJavaOptions .
  2. Klicka på Redigera.
  3. I text rutan Spark-konfiguration (kluster > kluster namn > avancerade alternativ > Spark) klistrar du in standardinställningarna.
  4. Lägg till den nya konfigurations inställningen under standardinställningarna.
  5. Klicka utanför text området och klicka sedan på Bekräfta.
  6. Starta om klustret.

Anta till exempel att du klistrar in följande inställningar i text avsnittet Spark-konfiguration . Den nya konfigurations inställningen läggs till i standardinställningarna.

spark.executor.extraJavaOptions = -Djava.io.tmpdir=/local_disk0/tmp -
XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing -Ddatabricks.serviceName=spark-
executor-1 -Djava.security.properties=/databricks/spark/dbconf/java/extra.security -
XX:+PrintFlagsFinal -XX:+PrintGCDateStamps -verbose:gc -XX:+PrintGCDetails -Xss4m -
Djavax.xml.datatype.DatatypeFactory=com.sun.org.apache.xerces.internal.jaxp.datatype.Dataty
peFactoryImpl -
Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentB
uilderFactoryImpl -
Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactor
yImpl -
Djavax.xml.validation.SchemaFactory:https://www.w3.org/2001/XMLSchema=com.sun.org.apache.xer
ces.internal.jaxp.validation.XMLSchemaFactory -
Dorg.xml.sax.driver=com.sun.org.apache.xerces.internal.parsers.SAXParser -
Dorg.w3c.dom.DOMImplementationSourceList=com.sun.org.apache.xerces.internal.dom.DOMXSImplem
entationSourceImpl -
javaagent:/opt/prometheus_jmx_exporter/jmx_prometheus_javaagent.jar=9404:/opt/prometheus_jm
x_exporter/jmx_prometheus_javaagent.yml

När du har startat om klustret visas standardinställningarna och den nya konfigurations inställningen i Spark UI > Environment > Spark-egenskaper.