2016-10-27 124 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 

這些工作對我來說。