标题很长:通过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,从而可以跳过执行失败的节点相关推荐

  1. 用SHELL脚本来防SSH和vsftpd暴力破解(第②版)

    新近刚上的FTP备份服务器,例行检查/var/log/secure日志时,发现不少sshd和vsftpd失败认证信息,很明显有人想用暴力破解工具窃取密码,所以需要编写一个安全脚本防止. 脚本需求如下: ...

  2. 用SHELL脚本来防SSH暴力破解

    由于机器已经在跑重要的业务,我又不想去升级内核,免得影响正常的网站运营,所以iptables的想法暂时告一段落;后来我又想到用HostsDeny的方法来解决这个问题,感觉这个方法还是比较繁琐,还不如自 ...

  3. airtest连接一个夜神多开器,提示“ADB指令执行失败”

    airtest连接一个夜神多开器报错: ADB指令执行失败,可能需要修改部分手机设置才能使用,请访问帮助文档查看如何设置. 如图 已勾了[Use javacap]和[USEB调试] 解决办法: 再勾选 ...

  4. oozie调度中的重试和手工rerun一个workflow

    在oozie中有Bundle.Coordinator和Workflow三种类型的job,他们之间可以有以下包含关系. Bundle > Coordinator > Workflow. 1. ...

  5. CDH中hue的oozie调度流程shell

    CDH中hue的oozie调度流程shell 1.将shell脚本上传到对应的hdfs的路径下 2.创建工作流 3.编辑工作流 4.上传脚本 5.添加文件 6.指定执行oozie的时候使用的Hadoo ...

  6. hue 用oozie调度shell(sqoop)脚本问题

    hue 用oozie调度shell(sqoop)脚本问题 真是搞了好几天 hue上的日志问题给的太有迷惑性了 问题一:用户权限问题 对应的更改文件权限就可以了 HADOOP_USER_NAME=${w ...

  7. oozie调度shell脚本

    oozie调度任务的一般步骤如下: 创建工作目录并复制模板 在oozie的根目录下,有已经写好的配置文件模板,job.properties和workflow.xml,我们只需要复制过来修改即可,不用从 ...

  8. 在Hue中创建一个Oozie工作流

    准备 建表 假设在mysql中有一个用户信息表user,包含id,name,address三个字段.其中address字段存在字符串null. 在hive创建对应的表: ods_user - 原始用户 ...

  9. linux 简单脚本fi报错,shell脚本报错:[: =: unary operator expected

    shell脚本报错:"[: =: unary operator expected" 在匹配字符串相等时,我用了类似这样的语句: if [ $STATUS == "OK&q ...

最新文章

  1. debug:g2o cmake时报错“Qt5 not found. Install it and set Qt5_DIR accordingly
  2. 【Qt】报错error: undefined reference to `vtable for的解决方法
  3. R语言is.na函数实战(删除、替换、统计、条件判断等)
  4. Oracle DBVERIFY 工具介绍
  5. 再发:VS怎么会这个样子的?
  6. cocos2dx java 调用lua_cocos2dx之C++调用Lua
  7. 2018java最新面试题
  8. mongo DB for C#
  9. Linux学习笔记-标准库中的管道操作
  10. 学习PriorityQueue源码
  11. 记录一次挖坑过程,idea git 代码分支合反了,如何补救
  12. layui 动态添加的表单元素--select
  13. idea中java导包快捷键_JAVA入门:IntelliJ Idea 常用快捷键
  14. Pug/jade快速上手教程
  15. STC8A8K低功耗模式验证
  16. ATSHA204A加密芯片
  17. ubuntu16.04中运行orb-slam2_with_semantic_labelling-master
  18. 西电计算机好考吗,西电计算机考研难吗 西电计算机专业考研难度有多大?
  19. foxmail添加网易企业邮箱账号遇到账号或密码错误的问题
  20. Centos7安装elasticsearch7.14.0遇到问题(无法远程访问;内存小;bootstrap checks failed)

热门文章

  1. [ 人力资源面试篇 ] 应届生 “ HR 面 “ 面试分析
  2. MySQL 数据库语句基础
  3. 关于 kubernetes网络(CNI规范)中Calico,NetworkPolicy(网络策略)方面的一些笔记
  4. 怎么获取微信公众号的音频视频
  5. 离散数学——图论中图的同构的应用
  6. 独家对话行癫:最详解密阿里云顶层设计和底层逻辑
  7. error while loading shared libraries解决办法
  8. field ii:一些查看技巧
  9. 僵尸进程和孤儿进程-(转自Anker's Blog)
  10. 英语:日常用语中的错误表达和正确表达