在 Oozie 日志中获取 E0800

Posted

技术标签:

【中文标题】在 Oozie 日志中获取 E0800【英文标题】:Getting E0800 in Oozie logs 【发布时间】:2015-02-26 10:32:24 【问题描述】:

我正在运行具有四个子工作流的 Oozie 作业。出于测试目的,我使用的是 Cloudera VM。虽然作业输出很好,但我的 Oozie 日志中出现以下 XException:

2015-02-26 02:26:58,934 警告 org.apache.oozie.service.CallableQueueService$CallableWrapper: SERVER[quickstart.cloudera] USER[-] GROUP[-] TOKEN[-] APP[-] JOB[ -] ACTION[-] 异常可调用 [callback],E0800:动作它没有在 [PREP] 状态下运行,动作 [0000003-150226014822163-oozie-oozi-W@midso-chat-data-Decrypt] org.apache.oozie.command.CommandException: E0800: Action it is not running its in [PREP] state, action [0000003-150226014822163-oozie-oozi-W@midso-chat-data-Decrypt]

当我通过主工作流而不是使用标记将参数显式传递给子工作流时,就会发生这种情况。但是,当我独立于主工作流程运行每个子工作流程时,这些 XException 不会出现。

有人对此有任何线索吗?

【问题讨论】:

这不是真正的错误 - 真正的错误将在其他地方。如果问题出在子工作流程中,请查看子工作流程的日志(我认为您发布的日志是针对父工作流程的)。或者,如果工作流成功启动了一个已终止的操作,请在 JobBrowser 中查看其日志。 谢谢。你知道 Oozie 是否有可用的子工作流日志吗?或者我应该检查 Yarn。 您可以从命令行以相同的方式进行检查。 oozie job -log [sub wf-id]子wf-id可以通过命令oozie job -info [master-wfid]找到,显示在Ext Id列中。 oozie 是垃圾 【参考方案1】:

我猜你错过了工作流程中的传播配置标签:

    <sub-workflow>
    <app-path>/app/oozie/src/main/DailyWorkflow/subworkflows/TableAA</app-path>
    <propagate-configuration/>
    </sub-workflow>

在子工作流程中,您可能会看到子工作流程操作找不到未传播给它的参数的错误。

【讨论】:

以上是关于在 Oozie 日志中获取 E0800的主要内容,如果未能解决你的问题,请参考以下文章

在 Oozie 4.2 中禁用工作流错误日志

我们可以在 oozie 工作流 xml 中访问整个 hadoop 作业日志吗?

如何获取基于 HIVE-SQOOP 的批处理作业的异常、错误和日志?

oozie sqoop 操作导入失败

大数据基础之Oozie常见问题

Oozie-client 没有通过 ambari 安装在新添加的节点上