Как настроить spark и log4j для входа в локальную файловую систему в режиме кластера пряжи - PullRequest
0 голосов
/ 18 октября 2018

Я хочу собрать сообщения журнала, созданные приложением spark, в файл в локальной файловой системе.Мне удалось добиться этого, когда я запустил приложение в режиме клиента, однако я столкнулся с трудностями при запуске в режиме кластера.

Моя конфигурация для log4j:

# Root logger option
log4j.rootLogger=ERROR, stdout
# Direct log messages to 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 %m%n
#Direct log messages to a file
log4j.logger.com.bosch.bidos=INFO, file
log4j.additivity.com.bosch.bidos=false

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=${user.home}/test.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %-5p: %c: %m%n

И вот моя искра отправки:

spark2-submit \
        --name test \
        --master yarn \
        --deploy-mode cluster \
        --class Main \
        --files path/to/test_log4j.properties \
        --conf spark.driver.extraJavaOptions="-Dlog4j.configuration=test_log4j.properties -Dlog4j.debug" \
        --conf spark.executor.extraJavaOptions="-Dlog4j.configuration=test_log4j.properties -Dlog4j.debug" \
        ${jar_path}

Когда я отлаживаю приложение, я вижу, что задан test_log4j.файл свойств читается.

Я что-то упустил?

...