Контейнеры для журналов Spark Yarn катятся по размеру (stdout, stderr) - PullRequest
0 голосов
/ 20 февраля 2020

Это задание ожидается в течение долгого времени. Может ли кто-нибудь помочь или предложить, если мне нужно сделать больше разъяснений по поводу моего варианта использования. Я хочу настроить запись файла журнала в журналах контейнера приложения Spark yarn. Я попробовал следующий подход, но он начал создавать отдельный набор журналов и переходить на него, но я хочу, чтобы исходная иерархия развернулась.

Я создал файл log4j.properties в папке / resource / моего проекта и написал следующий код реализовать внедрение.

# Root logger option
log4j.rootLogger=DEBUG, SysErr, filerolling
log4j.logger.dt.iotproject=INFO, SysOut, SysErr, filerolling
log4j.logger.com.sksamuel=DEBUG
log4j.additivity.dt.iotproject=false

# Direct info log messages to SysOut
log4j.appender.SysOut=org.apache.log4j.ConsoleAppender
log4j.appender.SysOut.Target=System.out
log4j.appender.SysOut.layout=org.apache.log4j.PatternLayout
log4j.appender.SysOut.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS} %-5p %c{1}:%L - %m%n
log4j.appender.SysOut.filter.y=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.SysOut.filter.y.LevelMin=INFO
log4j.appender.SysOut.filter.y.LevelMax=INFO

# Direct error log messages to SysErr
log4j.appender.SysErr=org.apache.log4j.ConsoleAppender
log4j.appender.SysErr.Target=System.err
log4j.appender.SysErr.layout=org.apache.log4j.PatternLayout
log4j.appender.SysErr.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS} %-5p %c{1}:%L - %m%n
log4j.appender.SysErr.filter.y=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.SysErr.filter.y.LevelMin=ERROR
log4j.appender.SysErr.filter.y.LevelMax=ERROR

# Direct error log messages to file
log4j.appender.filerolling=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.filerolling.Append=true
log4j.appender.filerolling.rollingPolicy=org.apache.log4j.rolling.FixedWindowRollingPolicy
log4j.appender.filerolling.triggeringPolicy=org.apache.log4j.rolling.SizeBasedTriggeringPolicy
log4j.appender.filerolling.triggeringPolicy.MaxFileSize=4000
log4j.appender.filerolling.rollingPolicy.FileNamePattern=/var/log/log4j/spark-%i.log
log4j.appender.filerolling.rollingPolicy.ActiveFileName=/var/log/log4j/spark.log
log4j.appender.filerolling.layout=org.apache.log4j.PatternLayout
log4j.appender.filerolling.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss.SSS zzz} %t %p %c{1}: %m%n
log4j.appender.filerolling.encoding=UTF-8

Подход заключается в сохранении журналов в var / logs /

Теперь, проверьте ниже, эти папки журналов все еще присутствуют внутри / application_1568014840254_0773 / container_1568014840254_0773_01_000004 /

-rw-rw-r--. 1 admin admin    32295 Feb 19 06:39 directory.info
-rw-r-----. 1 admin admin    38557 Feb 19 06:39 launch_container.sh
-rw-rw-r--. 1 admin admin        0 Feb 19 06:39 prelaunch.err
-rw-rw-r--. 1 admin admin      100 Feb 19 06:39 prelaunch.out
-rw-rw-r--. 1 admin admin      498 Feb 19 06:39 stderr
-rw-rw-r--. 1 admin admin 19501983 Feb 20 11:06 stdout

Как вы видите, папка stdout растет, поэтому моя цель - настроить Roll Appender для этой структуры.

Последнее, что мне нужно, это когда папка stdout, stderr выходит за пределы определенного порога, она должна запускать новый файл.

Как этого добиться? Какие модификации мне нужно сделать?

...