Azkaban 基础篇
工作流概述:
- 请假、借款
- JavaEE:jBPM、Activiti
工作流调度系统的重要性
crontab的问题和优势:
对于定时调度能够很好的执行,但是对于依赖调度束手无策,只能够估计时间
常用的调度框架:
Azkaban LinkedIn开源
Oozie apache开源
Zeus 阿里开源
Azkaban 概述:
特点
注意模块化和可插拔特性
Azkaban 架构
WebServer主要是界面
Azkaban 运行模式
测试
首先创建project
在Projects中可以看到
点进去后,点upload文件
选择zip包
upload后点击Execute flow
点击Execute
显示执行成功了
点进去看一下
Flow Log
再点job list 中的details
可以看到输出了Hello World
Azkaban实战篇
Dependency 作业
Dependencies是任务的依赖,表示执行之前需要先执行的任务
同样的套路
有Dependencie时,名称是以最后一个job的名字为准的
点击Execute
成功了后job list
job bar中成功输出了bar
HDFS 作业
同样的方式将zip放在Azkaban上进行Execute,成功输出hadoop命令
MapReduce 作业
执行Hadoop任务
注意放在job中的时候路径要写全
进行压缩
如果command写错了,也可以直接在Azkaban中进行修改
试一下Hadoop的wordcount
改写一下job文件
试用edit在Azkaban中修改command
再跑一遍,成功执行
Hive作业
一份txt文件
建表的HQL语法如下
将数据写入表中
Hive中执行sql语句
创建test.sql
把sql和hive job打包
放入Azkaban中运行,成功执行
定时作业
找到执行时的Schedule
在Scheduling模块可以看到调度
有显示调度的具体时间
邮件告警
还是到Execute flow 中来
Azkaban中的SLA设置