Переполнение журнала рабочих потоков Spark - PullRequest
0 голосов
/ 08 мая 2018

У меня есть задание spark streaming (2.1), работающее в режиме кластера, и я продолжаю сталкиваться с проблемой, при которой задание прекращается (менеджером ресурсов) через несколько недель, поскольку журналы контейнера пряжи приводят к заполнению диска. Есть ли способ избежать этого?

В настоящее время я установил следующие два параметра для размера журнала. Однако это не помогает в вышеуказанной ситуации.

spark.executor.logs.rolling.maxRetainedFiles 2 spark.executor.logs.rolling.maxSize 107374182

Спасибо!

Ответы [ 3 ]

0 голосов
/ 08 мая 2018

Наилучший подход - создать новые свойства log4j для заданий потоковой передачи и вместо консольного Appender использовать File appender, чтобы свернуть размер файла, количество файлов. Вы можете создать / etc / spark / conf / spark-stream-log4j.properties следующим образом

log4j.rootCategory=INFO, filerolling

log4j.appender.filerolling=org.apache.log4j.filerollingFileAppender
log4j.appender.filerolling.layout=org.apache.log4j.PatternLayout
log4j.appender.filerolling.layout.conversionPattern=[%d] %p %m (%c)%n
log4j.appender.filerolling.maxFileSize=3MB
log4j.appender.filerolling.maxBackupIndex=15
log4j.appender.filerolling.file=/var/log/hadoop-yarn/containers/spark.log

log4j.appender.filerolling.encoding=UTF-8

## To minimize the logs
log4j.logger.org.apache.spark=ERROR
log4j.logger.com.datastax=ERROR
log4j.logger.org.apache.hadoop=ERROR
log4j.logger.hive=ERROR
log4j.logger.org.apache.hadoop.hive=ERROR
log4j.logger.org.spark_project.jetty.server.HttpChannel=ERROR
log4j.logger.org.spark_project.jetty.servlet.ServletHandler=ERROR
log4j.org.apache.kafka=INFO

Команда Spark submit как

spark-submit  --conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=spark-stream-log4j.properties  -XX:+UseConcMarkSweepGC -XX:OnOutOfMemoryError='kill -9 %p'"   --conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=spark-stream-log4j.properties -XX:+UseConcMarkSweepGC  -XX:OnOutOfMemoryError='kill -9 %p'"  --files /etc/spark/conf/spark-stream-log4j.properties 
0 голосов
/ 30 ноября 2018

Вы забыли это свойство:

spark.executor.logs.rolling.strategy size

0 голосов
/ 08 мая 2018

Spark генерирует много журналов INFO. Таким образом, вы можете добавить следующие строки, чтобы избежать регистрации ненужных журналов INFO

import org.apache.log4j.Level;
import org.apache.log4j.Logger;

Logger.getLogger("org").setLevel(Level.OFF);
...