Spark-Konfiguration: SPARK_MEM vs. SPARK_WORKER_MEMORY

In spark-env.sh können die folgenden Umgebungsvariablen konfiguriert werden:

# - SPARK_WORKER_MEMORY, to set how much memory to use (e.g. 1000m, 2g)
export SPARK_WORKER_MEMORY=22g
[...]
# - SPARK_MEM, to change the amount of memory used per node (this should
#   be in the same format as the JVM's -Xmx option, e.g. 300m or 1g)
export SPARK_MEM=3g

Wenn ich einen eigenständigen Cluster mit folgendem Befehl starte:

$SPARK_HOME/bin/start-all.sh

Ich kann auf der Webseite der Spark Master-Benutzeroberfläche sehen, dass alle Mitarbeiter mit nur 3 GB RAM beginnen:

-- Workers Memory Column --
22.0 GB (3.0 GB Used)
22.0 GB (3.0 GB Used)
22.0 GB (3.0 GB Used)
[...]

Allerdings habe ich in spark-env.sh 22g als SPARK_WORKER_MEMORY angegeben

Das verwirrt mich ein wenig. Wahrscheinlich verstehe ich den Unterschied zwischen "Knoten" und "Arbeiter" nicht.

Kann jemand den Unterschied zwischen den beiden Speichereinstellungen erklären und was ich möglicherweise falsch gemacht habe?

Ich benutze spark-0.7.0. Siehe auchHier Weitere Konfigurationsinformationen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage