Я использую oozie в среде CDH5. Я также использую веб-консоль oozie. Я не вижу ни одного из журналов из моего приложения. Я могу видеть журналы сундуков, искровые журналы и т. Д .; но я не вижу конкретных журналов приложений.Почему мои журналы уровня приложений исчезают при выполнении в oozie?
В моем приложении я включил SRC/основной/ресурсы/log4j.properties
# Root logger option
log4j.rootLogger=INFO, 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{1}:%L - %m%n
В моем oozie процессе У меня есть Java-действия и искровые действия.
Также важно отметить, что когда я запускаю свое приложение из командной строки, я вижу журналы своего уровня приложения.
В качестве примечания, если вы хотите отправить свое приложение. войдите в систему мониторинга, тогда вы можете запустить Flume agent * (или пару агентов для HA) * и отправить свои журналы на провод через Log4J Flume appender. Это позволило бы избежать перекоса в журналы YARN * ex post *. –
Еще одна вещь, которую я вижу, заключается в том, что если идентификатор задания для искрового приложения - job_000000000_0000, тогда мне нужно получить журналы для job_000000000_0001, чтобы увидеть журналы искровых приложений ... – hba
Ах, это потому, что начинается работа «запуска» Оози Драйвер Spark ** **, но затем драйвер запускает другое задание YARN для своих ** исполнителей ** - вы должны снять первый журнал YARN, чтобы извлечь идентификатор второго журнала YARN. Тот же метод для действий Sqoop или Hive или Pig, которые также динамически генерируют свои собственные задания YARN - и у Oozie нет очевидного способа отслеживать их. –