我在CDH5环境中使用oozie。我也在使用oozie网络控制台。我无法从我的应用程序中看到任何日志。我可以看到hadoop日志,火花日志等;但是我没有看到特定于应用程序的日志。
在我的应用程序中,我已经包含了src / main / resources / 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-actions和spark-actions。
同样重要的是要注意,当我从命令行运行我的应用程序时,我会看到我的应用程序级别日志。
答案 0 :(得分:3)
Oozie在另一个“启动器”作业中运行每个Action - 实际上是一个具有单个映射器的YARN作业(请参阅下面的例外)。
每当您在job_000000000_0000
表单中看到“外部ID”时,您就可以访问application_000000_0000
的YARN日志(是的,“job”是Hadoop 1的传统命名约定,仍由JobHistory服务使用,但YARN有另一个命名约定。
您的应用程序输出实际上是转储到该Oozie“启动器”的YARN日志中
<capture_output/>
技巧)在atrocely verbose结束时“ stdout“section 底线:
oozie job -info ******
以获取操作列表以及Oozie工作流程执行的相应“外部ID”job_*****_**
旧版ID,运行yarn logs -applicationId application_*****_** | more
以浏览全局YARN日志,然后放大您的特定应用日志B-)