Подтвердить что ты не робот

Исход Apache: настройка spark.eventLog.enabled и spark.eventLog.dir при отправке или запуск Spark

Я хотел бы установить spark.eventLog.enabled и spark.eventLog.dir на уровне spark-submit или start-all - не требует, чтобы он включался в коде scala/java/python.  Я пробовал разные вещи без успеха:

Настройка spark-defualts.conf как

spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://namenode:8021/directory

или

spark.eventLog.enabled           true
spark.eventLog.dir               file:///some/where

Запуск spark-submit как:

spark-submit --conf "spark.eventLog.enabled=true" --conf "spark.eventLog.dir=file:///tmp/test" --master spark://server:7077 examples/src/main/python/pi.py

Исходная искра с переменными окружения:

SPARK_DAEMON_JAVA_OPTS="-Dspark.eventLog.enabled=true -Dspark.history.fs.logDirectory=$sparkHistoryDir -Dspark.history.provider=org.apache.spark.deploy.history.FsHistoryProvider -Dspark.history.fs.cleaner.enabled=true -Dspark.history.fs.cleaner.interval=2d"

и просто для overkill:

SPARK_HISTORY_OPTS="-Dspark.eventLog.enabled=true -Dspark.history.fs.logDirectory=$sparkHistoryDir -Dspark.history.provider=org.apache.spark.deploy.history.FsHistoryProvider -Dspark.history.fs.cleaner.enabled=true -Dspark.history.fs.cleaner.interval=2d"

Где и как должны быть установлены эти вещи для получения истории на произвольных работах?

4b9b3361

Ответ 1

Я решил проблему, но, как ни странно, я пробовал это раньше... Тем не менее, теперь это похоже на стабильное решение:

Создайте каталог в HDFS для ведения журнала, скажем /eventLogging

hdfs dfs -mkdir /eventLogging

Затем spark-shell или spark-submit (или что-то еще) можно запустить со следующими параметрами:

--conf spark.eventLog.enabled=true --conf spark.eventLog.dir=hdfs://<hdfsNameNodeAddress>:8020/eventLogging

например:

spark-shell --conf spark.eventLog.enabled=true --conf spark.eventLog.dir=hdfs://<hdfsNameNodeAddress>:8020/eventLogging

Ответ 2

Создайте локальный каталог:

$ mkdir /tmp/spark-events

Запустите Spark-shell с --conf spark.eventLog.enabled

$ spark-shell --conf spark.eventLog.enabled --class com.MainClass --packages packages_if_any --master local[4] app.jar