2016-10-05 2 views
0

Я запускаю приложение поверх YARN в искровом кластере, но мне нужно установить свой собственный путь, где создаются файлы журналов, и необходимо изменить форматирование сообщения журнала. Для этого я хочу использовать свой настраиваемый файл Log4j.properties вместо файла log4j.properties по умолчанию, предоставленного YARN. Как это может быть сделано?Как настроить файл свойств Log4j в YARN

+0

Добавьте 'log4j.appender.file.File =/TMP/application.log' свойство в файле log4j и проверить. –

+0

Это не решит мою проблему, так как внося изменения в файл log4j.properties по умолчанию, файлы журналов других приложений также будут затронуты, так как они будут ссылаться на файл .properties по умолчанию. Вместо этого я хочу использовать свой собственный файл .properties и использовать его в нескольких конкретных приложениях. Как это может быть сделано? –

+0

Создайте свой собственный файл свойств log4j и добавьте файл свойств в свой путь искрового класса. –

ответ

0

Я использую этот скрипт для подачи искры, чтобы нажимать мой log4j.properties до пряжи, чтобы я мог управлять шаблоном ведения журнала. Я особенно хотел, чтобы имена пакетов были полностью обработаны, поэтому я могу разделить мои классы, в которых регистрируются журналы, из полученных журналов приложений Yarn.

spark-submit \ 
    --class com.acme.Main \ 
    --master yarn \ 
    --deploy-mode cluster \ 
    --driver-memory 2g \ 
    --executor-memory 1g \ 
    --driver-class-path "./conf" \ 
    --files "./conf/app.properties,./conf/log4j.properties" \ 
    ./lib/my-app-uber.jar \ 
    "[email protected]" 

Лично я использовать только ConsoleAppender и все мои регистрации приложения отображается в стандартных журналах пряжи вместе со всем остальным. Вы не можете использовать RollingFileAppender с HDFS.

log4j.rootLogger=INFO, stdout 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - %-5p %c:%L -> %m%n 

Вы должны увидеть результаты в

yarn logs -applicationId <your-app-id> 
Смежные вопросы