2016-06-17 3 views
5

spark-submit erlaubt es, die Testamentsvollstrecker Umgebungsvariablen mit --conf spark.executorEnv.FOO=bar zu konfigurieren und die Spark-REST-API können Umgebungsvariablen mit dem environmentVariables Feld zu übergeben. Leider habe ich nichts gefunden, ähnlich der Umgebungsvariablen des Treibers zu konfigurieren, wenn der Fahrer mit spark-submit im Cluster-Modus einreichen:Wie Variablen passieren Umgebung Treiber im Cluster-Modus mit Funkenfunken einreichen

spark-submit --deploy-mode cluster myapp.jar 

Ist es möglich, die Umgebungsvariablen des Treibers mit spark-submit im Cluster-Modus zu setzen?

+0

Ich hätte sagen sollen, dass ich Funken im Standalone-Modus verwende - kein Garn oder Mesos –

+0

Hast du irgendwann einen Weg gefunden? –

Antwort

1

Ja, das ist möglich. Was sind die Variablen, die Sie brauchen, die Sie in Spark-Submit posten können, wie Sie es tun?

spark-submit --deploy-mode cluster myapp.jar 

Nehmen Sie Variablen von http://spark.apache.org/docs/latest/configuration.html und hängt von Ihrer Optimierung Verwendung dieser. Diese link könnte auch hilfreich sein.

habe ich im Cluster-Modus verwenden, aber jetzt in GARN verwende ich so meine Variablen sind wie folgt: (hoffentlich hilfreich)

[email protected]:/usr/local/spark$ ./bin/spark-submit --class com.hastimal.Processing --master yarn-cluster --num-executors 15 --executor-memory 52g --executor-cores 7 --driver-memory 52g --driver-cores 7 --conf spark.default.parallelism=105 --conf spark.driver.maxResultSize=4g --conf spark.network.timeout=300 --conf spark.yarn.executor.memoryOverhead=4608 --conf spark.yarn.driver.memoryOverhead=4608 --conf spark.akka.frameSize=1200 --conf spark.io.compression.codec=lz4 --conf spark.rdd.compress=true --conf spark.broadcast.compress=true --conf spark.shuffle.spill.compress=true --conf spark.shuffle.compress=true --conf spark.shuffle.manager=sort /users/hastimal/Processing.jar Main_Class /inputRDF/rdf_data_all.nt /output /users/hastimal/ /users/hastimal/query.txt index 2 

Dabei mein Glas folgenden sind Argumente der Klasse.

cc /inputData/data_all.txt/Ausgabe/users/hastimal/ /users/hastimal/query.txt Index 2

+0

OP fragt nach Umgebungsvariablen, aber diese Antwort scheint sich auf die Konfiguration von Java-Eigenschaften zu beziehen. –

3

Auf GARN zumindest das funktioniert:

spark-submit --deploy-mode cluster --conf spark.yarn.appMasterEnv.FOO=bar myapp.jar


Es ist in http://spark.apache.org/docs/latest/configuration.html#environment-variables erwähnt, dass:

Hinweis: Beim Ausführen von Spark on YARN im Modus cluster müssen Umgebungsvariablen mithilfe der spark.yarn.appMasterEnv.[EnvironmentVariableName]-Eigenschaft in der Datei conf/spark-defaults.conf festgelegt werden.

Ich habe getestet, dass es mit --conf Flagge für spark-submit weitergegeben werden können, so dass Sie globale conf keine Dateien bearbeiten müssen.

0

können Sie die unten Klassifizierung verwenden Umgebungsvariablen auf Testamentsvollstrecker und Master-Knoten Set-up:

[ 
    { 
    "Classification": "yarn-env", 
    "Properties": {}, 
    "Configurations": [ 
     { 
     "Classification": "export", 
     "Properties": { 
      "VARIABLE_NAME": VARIABLE_VALUE, 
     } 
     } 
    ] 
} 
] 

Wenn Sie nur spark.yarn.appMasterEnv.FOO = "foo" gesetzt, dann ist die env Variable auf Testamentsvollstrecker Instanzen nicht vorhanden sein wird.

+0

Klassifikationen sind ein spezifischer Mechanismus für EMR (AWS). Das OP hat keine Verwendung von EMR angegeben – xor007

Verwandte Themen