为什么在Oozie中执行Java动作System.out时会消失?

时间:2018-09-12 07:37:10

标签: java hadoop logging yarn oozie

我正在使用oozie环境。成功完成工作后,在oozie日志中找不到System.out.println输出。我在Google搜寻了多个小时,发现this

,但没有结果。从oozie Web控制台,我得到了作业ID“ 0000011-180801114827014-oozie-oozi-W”,然后我尝试使用以下命令获取有关该作业的更多信息:

  

oozie工作-oozie http://localhost:11000/oozie/ -info 0000011-180801114827014-oozie-oozi-W

enter image description here

然后我从操作 JobCompleted (工作完成)中获得了externalId,并且我认为工作ID为 180801114827014 。最后,我尝试使用以下命令从Java操作获取日志:

  

纱线日志-applicationId application_180801114827014_16546   enter image description here

我在哪里做错了?有什么建议吗?

修改

我检查日志聚合是否已启用并且似乎已启用 enter image description here

然后,我在哪里做错了?

1 个答案:

答案 0 :(得分:1)

根据经验我可以说stdout不会从任何YARN操作中删除,但是,鼓励在应用程序中记录信息的方法是使用Log4j,它会进入syslog,而不是stdout(或stderr)。

但是,正如您的终端所说,需要启用/完成YARN日志聚合,才能通过yarn logs命令查看日志

如果该命令不起作用,请转到Oozie UI,作业操作或直接转到YARN UI并搜索操作,然后从那里找到日志链接