2016-10-27 93 views
0

我试图设置配置属性侧翻标准错误日志(这是在不断扩张)星火执行日志(错误)滚动

mySparkConf.set("spark.executor.logs.rolling.maxRetainedFiles","5") 
mySparkConf.set("spark.executor.logs.rolling.time.interval","minutely") 
mySparkConf.set("spark.executor.logs.rolling.strategy","time") 

mySparkConf.set("spark.executor.logs.rolling.maxRetainedFiles","5") 
mySparkConf.set("spark.executor.logs.rolling.maxSize","100000") 
mySparkConf.set("spark.executor.logs.rolling.strategy","size") 

它不工作或它的工作原理与我预期的不同(没有太多文档)。

例如,我希望基于时间的滚动会在每分钟后创建一个新文件(如上配置)。但是,在这段时间之后,它仍然在增长。

mySparkConf = SparkConf()
...
mySparkConf.set("spark.executor.logs.rolling.maxRetainedFiles","5") mySparkConf.set("spark.executor.logs.rolling.maxSize","100000") mySparkConf.set("spark.executor.logs.rolling.strategy","size")
...
mySparkContext = SparkContext(conf=mySparkConf) mySparkStreamingContext = StreamingContext(mySparkContext,10) mySparkSession = SparkSession.builder.appName("my app").config(conf=mySparkConf).getOrCreate()

+0

什么是mySparkConf在这里,是你用什么来启动火花上下文? –

+0

@GauravShah编辑我的文章。请检查。 – user7079680

+0

@GauravShah我编辑了我的文章 – user7079680

回答

0

您可以在位于install_location/resources/spark/conf/下下面的属性spark-defaults.conf配置属性:

spark.executor.logs.rolling.maxRetainedFiles 5 
spark.executor.logs.rolling.strategy size 
spark.executor.logs.rolling.maxSize 100000 

请注意” s MINIMUM_SIZE_BYTES检查RollingPolicy代码,因此请确保您生成足够的日志(超过81920字节)来滚动文件。

Ref。 https://github.com/dgshep/spark/commit/258e6c3786ed79ab0245bc7b37a5f55eefbf4358

0

很老的问题,但仍然缺乏解释 - 这些属性不是应用程序设置 - 它们是Spark Worker设置,因此您必须将它们传递给Worker而不是将它们设置到您的SparkConf中。

0

您需要在两个位置更改(添加一些东西)。一个在$SPARK_HOME/conf/spark-default.conf您需要添加以下三行in each executor

spark.executor.logs.rolling.time.interval daily 
spark.executor.logs.rolling.strategy time 
spark.executor.logs.rolling.maxRetainedFiles 7 

,你需要改变for each executor$SPARK_HOME/conf/spark-env.sh添加以下线路上的其他文件:

SPARK_WORKER_OPTS="$SPARK_WORKER_OPTS -Dspark.worker.cleanup.enabled=true -Dspark.worker.cleanup.interval=1800 
-Dspark.worker.cleanup.appDataTtl=864000 
-Dspark.executor.logs.rolling.strategy=time 
-Dspark.executor.logs.rolling.time.interval=daily 
-Dspark.executor.logs.rolling.maxRetainedFiles=7 " 

export SPARK_WORKER_OPTS 

这些工作对我来说。