Oozie 自动retry和跳节点运行
?注意,这里的schema版本是0.3
retry-max 是最大尝试的次数,但是oozie本身有个最大可尝试的限额,以oozie本身的配置为主。
另外,
retry-interval 是每次尝试间隔的时间,单位是分钟,例子上面是失败后每1分钟尝试一次。
?
这里甚至可以配置Error Code,就是满足一定的错误条件才会进行自动重试。这里略过。
详情:http://oozie.apache.org/docs/3.1.3-incubating/DG_WorkflowReRun.html
----------分割线-------------------
oozie 的Coordinator里面,会产生很多的Action。
这些Action的本质,其实是一个workflow。
?
点开这些Action,在job id 上面可以找到对应的workflow。
使用这些workflow,就可以对现有的action进行按节点重跑。
protected static void ValidateAppPath(String wfPath, String coordPath, String bundlePath) throws XServletException { int n = 0; if (wfPath != null) { n ++; } if (coordPath != null) { n ++; } if (bundlePath != null) { n ++; } if (n == 0) { throw new XServletException(HttpServletResponse.SC_BAD_REQUEST, ErrorCode.E0302, "a workflow, coordinator, or bundle app path is required"); } if (n != 1) { throw new XServletException(HttpServletResponse.SC_BAD_REQUEST, ErrorCode.E0302, "Multiple app paths specified, only one is allowed"); } }?源码如上:
?
所以,需要在提交job命令的时候,对另外一个路径进行覆盖:
使用
-D <property=value> set/override value for given property
?
?
注意:
由于使用workflow的重跑机制,由Coordinator生成的参数会失效。
所以需要手工用-D 的方式手工指定日期参数或者路径参数。
?
?
?
?
?