我想将spark.eventLog.enabled和spark.eventLog.dir设置在spark-submit或start-all级别--不需要在scala/java/python代码中启用它。我尝试了各种方法,但都没有成功:
将spark-defaults.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:
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"只是为了杀伤力:
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"必须在哪里以及如何设置这些内容才能获得任意作业的历史记录?
发布于 2015-08-09 13:16:47
我解决了这个问题,但奇怪的是,我以前也尝试过……尽管如此,现在它似乎是一个稳定的解决方案:
在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发布于 2017-11-22 15:14:40
创建本地目录:
$ mkdir /tmp/spark-events使用--conf spark.eventLog.enabled运行Spark-shell
$ spark-shell --conf spark.eventLog.enabled --class com.MainClass --packages packages_if_any --master local[4] app.jarhttps://stackoverflow.com/questions/31233830
复制相似问题