Configuración de Spark: SPARK_MEM vs. SPARK_WORKER_MEMORY
En spark-env.sh, es posible configurar las siguientes variables de entorno:
# - 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
Si comienzo un cluster independiente con esto:
$SPARK_HOME/bin/start-all.sh
Puedo ver en la página web de la interfaz de usuario de Spark Master que todos los trabajadores comienzan con solo 3GB de RAM:
-- Workers Memory Column --
22.0 GB (3.0 GB Used)
22.0 GB (3.0 GB Used)
22.0 GB (3.0 GB Used)
[...]
Sin embargo, especifiqué 22g como SPARK_WORKER_MEMORY en spark-env.sh
Estoy algo confundido por esto. Probablemente no entiendo la diferencia entre "nodo" y "trabajador".
¿Alguien puede explicar la diferencia entre las dos configuraciones de memoria y lo que podría haber hecho mal?
Estoy usando chispa 0.7.0. Ver tambiénaquí Para más información de configuración.