azkaban失败任务批量重跑
原创
©著作权归作者所有:来自51CTO博客作者北京小辉的原创作品,请联系作者获取转载授权,否则将追究法律责任
其他接口可以参考官方文档 https://azkaban.readthedocs.io/en/latest/ajaxApi.html
一、mydb查询失败数据(查出projectname和flowid)
select ,a.flow_id from execution_jobs a
INNER JOIN projects b ON a.project_id =
WHERE a.status = 70
and a.attempt=0
and a.start_time > 1551369601000 ORDER by asc
status =70 表示失败状态
attempt=0 表示重试次数
start_time 查收时间段。1551369601000 为时间戳ms 可以在https://tool.lu/timestamp/ 进行转换

二、 拼接curl 命令
2.1) 找到sessionid,sessionid这个id是用户登录azkaban的实时sessionid。
2.2) 在Excel中拼接,(注意事项:下拉时候日期或者端口会递增,所有只能复制)
curl -k --data "session.id=76ba04cb-c54a-4b43-b40c-590d1385c044&ajax=executeFlow&flowOverride[dt]=2019-03-01&project=azkabanProject&flow=azkabanFlows" http://localhost:8088/executor?ajax=executeFlow

project 作业名称,sql查出来的name字段
flow 流程名称,sql查出来的flow_id 字段

三、 登录azkaban服务器,直接执行所有拼接好的命令。
执行及返回正确结果入下所示:
[yuhui@hadoop11 ~]$ curl -k --data "session.id=76ba04cb-c54a-4b43-b40c-590d1385c044&ajax=executeFlow&flowOverride[dt]=2019-03-01&project=azkabanProject&flow=azkabanFlows" http://localhost:8088/executor?ajax=executeFlow
{
"project" : "azkabanProject",
"message" : "Execution submitted successfully with exec id 53890",
"flow" : "azkabanFlows",
"execid" : 53890
}[yuhui@hadoop11 ~]
之后去azkaban去查看运行的项目
北京小辉微信公众号

大数据资料分享请关注