通过shell脚本来rerun一个oozie调度失败的job,从而可以跳过执行失败的节点
标题很长:通过shell脚本来rerun一个oozie调度失败的job,从而可以跳过执行失败的节点
不过目前从oozie调度测试的例子来看,oozie本身的retry好像并没有参数可以控制跳过失败的节点。必须手工重新rerun的时候指定 -D oozie.wf.rerun.failnodes=false
参数。
这个问题发生的原因是不同的节点安装的软件包有些差异导致一些jar包冲突,这样就使得该job在某些节点执行成功,某些节点执行失败。
这样我就写了一段shell脚本,来从oozie的jog表里面抓取失败的某个任务,然后去执行oozie rerun的命令,然后在crontab中每天定时调度这个脚本3次。
shell脚本如下:
#!/bin/sh# mysql连接
hostname="localhost"
port="3306"
username="oozie"
password="oozie"
dbname="oozie"# job的名称
appname="coord_xxxx_job"#当前时间
nowtime=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`# sql 查询语句
select_sql="
select concat(a.job_id,',',a.action_number) from COORD_JOBS j,COORD_ACTIONS a where j.id = a.job_id and j.app_name = '${appname}' and j.status = 'running' and to_days(a.created_time) = TO_DAYS(now()) and a.status != 'SUCCEEDED';
"# 连接mysql查询
result=(`mysql -h${hostname} -P${port} -u${username} -p${password} ${dbname} -N -e "${select_sql}"`)
echo ${result}# 如果查询结果不为空,则执行oozie的rerun脚本,并跳过失败的节点执行
if [ -n "${result}" ] ;then#echo ${result}IFS=',' arr=(${result})echo ${nowtime} ${appname} ${arr[0]} ${arr[1]} >> job_rerun.logoozie job -rerun ${arr[0]} -refresh -action ${arr[1]} -D oozie.wf.rerun.failnodes=false
fi
通过shell脚本来rerun一个oozie调度失败的job,从而可以跳过执行失败的节点相关推荐
- 用SHELL脚本来防SSH和vsftpd暴力破解(第②版)
新近刚上的FTP备份服务器,例行检查/var/log/secure日志时,发现不少sshd和vsftpd失败认证信息,很明显有人想用暴力破解工具窃取密码,所以需要编写一个安全脚本防止. 脚本需求如下: ...
- 用SHELL脚本来防SSH暴力破解
由于机器已经在跑重要的业务,我又不想去升级内核,免得影响正常的网站运营,所以iptables的想法暂时告一段落;后来我又想到用HostsDeny的方法来解决这个问题,感觉这个方法还是比较繁琐,还不如自 ...
- airtest连接一个夜神多开器,提示“ADB指令执行失败”
airtest连接一个夜神多开器报错: ADB指令执行失败,可能需要修改部分手机设置才能使用,请访问帮助文档查看如何设置. 如图 已勾了[Use javacap]和[USEB调试] 解决办法: 再勾选 ...
- oozie调度中的重试和手工rerun一个workflow
在oozie中有Bundle.Coordinator和Workflow三种类型的job,他们之间可以有以下包含关系. Bundle > Coordinator > Workflow. 1. ...
- CDH中hue的oozie调度流程shell
CDH中hue的oozie调度流程shell 1.将shell脚本上传到对应的hdfs的路径下 2.创建工作流 3.编辑工作流 4.上传脚本 5.添加文件 6.指定执行oozie的时候使用的Hadoo ...
- hue 用oozie调度shell(sqoop)脚本问题
hue 用oozie调度shell(sqoop)脚本问题 真是搞了好几天 hue上的日志问题给的太有迷惑性了 问题一:用户权限问题 对应的更改文件权限就可以了 HADOOP_USER_NAME=${w ...
- oozie调度shell脚本
oozie调度任务的一般步骤如下: 创建工作目录并复制模板 在oozie的根目录下,有已经写好的配置文件模板,job.properties和workflow.xml,我们只需要复制过来修改即可,不用从 ...
- 在Hue中创建一个Oozie工作流
准备 建表 假设在mysql中有一个用户信息表user,包含id,name,address三个字段.其中address字段存在字符串null. 在hive创建对应的表: ods_user - 原始用户 ...
- linux 简单脚本fi报错,shell脚本报错:[: =: unary operator expected
shell脚本报错:"[: =: unary operator expected" 在匹配字符串相等时,我用了类似这样的语句: if [ $STATUS == "OK&q ...
最新文章
- debug:g2o cmake时报错“Qt5 not found. Install it and set Qt5_DIR accordingly
- 【Qt】报错error: undefined reference to `vtable for的解决方法
- R语言is.na函数实战(删除、替换、统计、条件判断等)
- Oracle DBVERIFY 工具介绍
- 再发:VS怎么会这个样子的?
- cocos2dx java 调用lua_cocos2dx之C++调用Lua
- 2018java最新面试题
- mongo DB for C#
- Linux学习笔记-标准库中的管道操作
- 学习PriorityQueue源码
- 记录一次挖坑过程,idea git 代码分支合反了,如何补救
- layui 动态添加的表单元素--select
- idea中java导包快捷键_JAVA入门:IntelliJ Idea 常用快捷键
- Pug/jade快速上手教程
- STC8A8K低功耗模式验证
- ATSHA204A加密芯片
- ubuntu16.04中运行orb-slam2_with_semantic_labelling-master
- 西电计算机好考吗,西电计算机考研难吗 西电计算机专业考研难度有多大?
- foxmail添加网易企业邮箱账号遇到账号或密码错误的问题
- Centos7安装elasticsearch7.14.0遇到问题(无法远程访问;内存小;bootstrap checks failed)
热门文章
- [ 人力资源面试篇 ] 应届生 “ HR 面 “ 面试分析
- MySQL 数据库语句基础
- 关于 kubernetes网络(CNI规范)中Calico,NetworkPolicy(网络策略)方面的一些笔记
- 怎么获取微信公众号的音频视频
- 离散数学——图论中图的同构的应用
- 独家对话行癫:最详解密阿里云顶层设计和底层逻辑
- error while loading shared libraries解决办法
- field ii:一些查看技巧
- 僵尸进程和孤儿进程-(转自Anker's Blog)
- 英语:日常用语中的错误表达和正确表达