oozie调度中的重试和手工rerun一个workflow
在oozie中有Bundle、Coordinator和Workflow三种类型的job,他们之间可以有以下包含关系。
Bundle > Coordinator > Workflow。
1. 重新运行一个Coordinator job,可以通过如下命令:
oozie job -rerun --oozie-hado-C -refresh -action -4
0000034-180116183039102-oozie-hado-C 表示coordinator的job id
-action 表示包含的action对应的序号的1-4,即重新运行历史的4次job。

2. 如果只想重新运行一个workflow job,可以通过如下命令:
oozie job -rerun --oozie-hado-W -config rerun_workflow.xml
或者通过-D 参数直接设置 (上面rerun_workflow.xml中内容也是oozie.wf.rerun.failnodes=false的xml形式而已)
oozie job -rerun 0000411-180116183039102-oozie-hado-W -D oozie.wf.rerun.failnodes=false
否则会报错如下:

Error: E0401 : E0401: Missing configuration property [oozie.wf.rerun.skip.nodes OR oozie.wf.rerun.failnodes]
oozie.wf.rerun.failnodes 参数含义:true指在失败的节点重新运行,false指不在失败的节点运行
oozie.wf.rerun.skip.nodes 指定跳过哪些节点运行
注意: 使用rerun重新运行workflow的job时,在coordinator中配置的参数会失效,因此通常是rerun一个coordinator程序。
另外在worfkflow程序中,也可以按照如下配置来自动重试:
retry-max: 表示重试次数,如果该配置大于系统的配置最大重试次数,则取系统配置的最大次数
retry-interval: 重试时间间隔,3分钟。
总体可以解释为:每3分钟重试一次,一共重试5次。
<!-- 统计day: dm_guba_loginlog -->
<action name="hive-node" retry-max="5" retry-interval="3">
<hive xmlns="uri:oozie:hive-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>${hive_site_path}</job-xml>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<script>script.q</script>
<param>tmp_table=tmp_dm_guba_loginlog_day</param>
<param>params_dt=${params_dt}</param>
</hive>
<ok to="java-node"/>
<error to="senderror"/>
</action>
oozie调度中的重试和手工rerun一个workflow的更多相关文章
- 通过shell脚本来rerun一个oozie调度失败的job,从而可以跳过执行失败的节点
标题很长:通过shell脚本来rerun一个oozie调度失败的job,从而可以跳过执行失败的节点 不过目前从oozie调度测试的例子来看,oozie本身的retry好像并没有参数可以控制跳过失败的节 ...
- troubleshooting-执行Oozie调度Hive导数脚本抛java.io.IOException: output.properties data exceeds its limit [2048]
执行Oozie调度Hive导数脚本抛java.io.IOException: output.properties data exceeds its limit [2048] 原因分析 shell脚本中 ...
- oozie调度sqoop脚本时操作符号替换
oozie调度sqoop脚本时,sqoop中使用的sql查询语句,需要使用以下字符串替换操作符,否则会出现各种诡异的错误: //替换字符 < < Less than 小于 > > ...
- 在VS中手工创建一个最简单的WPF程序
如果不用VS的WPF项目模板,如何手工创建一个WPF程序呢?我们来模仿WPF模板,创建一个最简单的WPF程序. 第一步:文件——新建——项目——空项目,创建一个空项目. 第二步:添加引用,Presen ...
- oozie调度sqoop Job 数据库密码无法保存
问题描述 通过oozie调度sqoop作业时,需要输入数据库作业密码,但在sqoop元数据服务配置密码后,过一段时间会失效. 解决方法 将数据库密码写入HDFS文件,通过配置Sqoop job,实现传 ...
- Linux环境中Qt程序的手工发布
Linux环境中Qt程序的手工发布
- 纯手工撸一个vue框架
前言 vue create 真的很方便,但是很多人欠缺的是手动撸一遍.有些人离开脚手架都不会开发了. Vue最简单的结构 步骤 搭建最基本的结构 打开空文件夹,通过 npm init 命令生成pack ...
- 关于Java中的继承和组合的一个错误使用的例子
[TOC] 关于Java中的继承和组合的一个错误使用的例子 相信绝大多数人都比较熟悉Java中的「继承」和「组合」这两个东西,本篇文章就主要就这两个话题谈论一下.如果我某些地方写的不对,或者比较幼稚, ...
- MVC中在一个视图中,怎么加载另外一个视图?
在RazorView.cshtml视图: <!--在视图中调用无返回值的方法,视图中调用无返回值的方法,要加上大括号--> <!--在一个视图中,直接加载另外一个视图--> @ ...
随机推荐
- 【精】iOS6 及其以上版本号自己主动旋转、手动强制旋转方案及布局适配
1.布局适配方式 本文不讨论哪种布局适配方式最好.此处使用的是 Masonry 纯代码布局适配. (Masonry 底层就是 AutoLayout 的 NSLayoutConstraint) 2.iO ...
- POI生成EXCEL文件(字体、样式、单元格合并、计算公式)
创建一个封装类: package com.jason.excel; import java.io.FileNotFoundException; import java.io.FileOutputStr ...
- memcahce 介绍以及安装以及扩展的安装
简单介绍: memcache是一个高性能的分布式的内存对象缓存系统.通过在内存里维护一个巨大的hash表. 守护进程名: memcached 端口号: 单进程 依赖 libevent 安装memcac ...
- Appium安装过程
Appium安装过程 先安装了 Node.js.在node的官网上下载的exe安装文件. 在node的command line中执行 npm install -g appium 来安装appium,报 ...
- Android虚拟键盘弹出时挡住EditText解决方法
在manifest的activity节点使用 Xml代码 <activity android:windowSoftInputMode="adjustResize"/> ...
- docker 容器自启动
我们设置了docker自启动后,docker可以管理各种容器了,对于容器我们也可以设置重启的策略. 在容器退出或断电开机后,docker可以通过在容器创建时的--restart参数来指定重启策略: # ...
- POJ 2677 旅行商问题 双调dp或者费用流
Tour Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3408 Accepted: 1513 Description ...
- appium 1.6.3 + ios 10.2 + xcode 8.2.1 真机运行iphone app
appium命令行启动: appium --address "127.0.0.1" --session-override --pre-launch --debug-log-spac ...
- python开发者通过国内镜像安装pip包
对于Python开发用户来讲,PIP安装软件包是家常便饭.但国外的源下载速度实在太慢,浪费时间.而且经常出现下载后安装出错问题.所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成 ...
- 将相关数据拼成所需JSON数据
参考: http://www.cnblogs.com/shuilangyizu/p/6019561.html 有时候我们需要将一些数据拼装成所需要格式的JSON,可以使用如下方法,本人觉得还是比较方便 ...