小编Art*_*Art的帖子

如何在Oozie中获取有关被杀工作的更具体的错误信息

我有一个hadoop map-reduce作为Oozie工作流程中的一个步骤运行.它是使用实现org.apache.hadoop.util.Tool的java动作开始的.

当作业因某种原因被杀死时,如果在处理过程中出现异常,我希望能够通过电子邮件发送应包含堆栈跟踪的通知.

目前我是这样做的:

<action name="sendErrorNotifications">
    <email xmlns="uri:oozie:email-action:0.1">
        <to>some-dl@company.com</to>
        <subject>Job execution failed ${wf:id()}</subject>
        <body>Job execution failed, error message: [${wf:errorMessage(wf:lastErrorNode())}]</body>
    </email>
    <ok to="fail" />
    <error to="fail" />
</action>
Run Code Online (Sandbox Code Playgroud)

但我收到的只是:

Job execution failed, error message: [Job failed!]
Run Code Online (Sandbox Code Playgroud)

哪个不是很有用:)我需要自己检查所有节点的日志.

如何获得更具体的消息?我应该抓住我的异常并将其包含在工具中的一些oozie-catchable中,或者只使用一些东西而不是$ {wf:errorMessage ...

谢谢

hadoop exception-handling mapreduce exception oozie

6
推荐指数
1
解决办法
5484
查看次数

寻找一种方法来连续处理写入hdfs的文件

我正在寻找一种可以:

  1. 监视新文件的hdfs dir并在它们出现时处理它们.
  2. 它还应该在作业/应用程序开始工作之前处理目录中的文件.
  3. 它应该有检查点,以便在重新启动时从它离开的地方继续.

我看了一下apache spark:它可以读取新添加的文件,并且可以处理重启以从它离开的地方继续.我找不到办法使它也处理同一作业范围内的旧文件(所以只有1和3).

我看了一下apache flink:它确实处理了新旧文件.但是,一旦重新启动作业,它将再次开始处理所有作业(1和2).

这是一个非常常见的用例.我错过了火花/叮当的东西,这使得它成为可能吗?还有其他工具可以在这里使用吗?

hadoop bigdata hdfs apache-spark apache-flink

1
推荐指数
1
解决办法
582
查看次数