Azkaban介绍
一、登陆:https://192.168.99.62:8443
二、首页介绍
projects:最重要的部分,创建一个工程,所有flows将在工程中运行。
scheduling:显示定时任务
executing:显示当前运行的任务
history:显示历史运行任务
三、工程介绍
一个工程包含一个或多个flows,一个flow包含多个job。job是你想在azkaban中运行的一个进程,可以是简单的linux命令,可是java程序,也可以是复杂的shell脚本,当然,如果你安装相关插件,也可以运行插件。一个job可以依赖于另一个job,这种多个job和它们的依赖组成的图表叫做flow。
Azkaban job类型:
1.command:Linux shell命令行任务
2.gobblin:通用数据采集工具
3.hadoopJava:运行hadoopMR任务
4.java:原生java任务
5.hive:支持执行hiveSQL
6.pig:pig脚本任务
7.spark:spark任务
8.hdfsToTeradata:把数据从hdfs导入Teradata
9.teradataToHdfs:把数据从Teradata导入hdfs
Job设置
1.设置每个job中的命令:
type=command
command=echo "hello"
command.1=echo "world"
2. 可以配置job失败重启次数,及间隔时间,比如,上述ftp获取日志,我可以配置重试12次,每隔5分钟一次:
type=command
command=wget "ftp://file1" -O/data/file1
retries=12
#单位毫秒
retry.backoff=300000
job编写
1.command.job
type=command
#
执行sh脚本,建议这样做,后期只需维护脚本就行了,azkaban定义工作流程
command=sh /job/o2o_2_hive.sh
#所依赖的job名称
dependencies=o2o_clean_data
2.java.job:
type=javaprocess
classpath=./lib/*,${azkaban.home}/lib/*
java.class=com.dataeye.java.MyJavaJob
3.wordcount.job
type=hadoopJava
job.extend=false
job.class=azkaban.jobtype.examples.java.WordCount
classpath=./lib/*,${azkaban.home}/lib/*
force.output.overwrite=true
input.path=/data/yann/input
output.path=/data/yann/output
四Azkaban使用
1. 开启服务:bin/azkaban-web-start.sh bin/azkaban-executor-start.sh
2. 编写xx.job文件压缩成zip包放到windows上
3. 登陆:https://master:8443 账号:admin 密码:admin
4. CreatePorject
5. 填入工程名和描述信息并createproject
6. Uplode压缩好的zip包
7. schedule定时任务或者execute单次执行
8. Flow view:流程视图。可以禁用,启用某些job
Notification:定义任务成功或者失败是否发送邮件
Failure Options:定义一个job失败,剩下的job怎么执行
Concurrent:并行任务执行设置
Flow Parametters:参数设置
9. 设置好上述参数,点击execute
绿色代表成功,蓝色是运行,红色是失败。可以查看job运行时间,依赖和日志,点击details可以查看各个job运行情况。
10. 点击shedule设置定时任务
1. Azkaban各种类型的Job编写:https://www.jianshu.com/p/f2310a5c38c6
2. 如何写一个好的接口:https://www.cnblogs.com/panpanwelcome/p/8184107.html
3. [endif]Azkaban API 接口文档汇总:https://blog.csdn.net/u012965373/article/details/82853740
4. 如何写好一个接口:https://blog.csdn.net/onedaycbfly/article/details/79477609
5. Java接口:http://www.runoob.com/java/java-interfaces.html
6. java如何写接口给别人调用:https://blog.csdn.net/greatkendy123/article/details/52818466
7. Azkaban的AJAX的RestFul接口调用事例:https://blog.csdn.net/qq_20641565/article/details/72379506
8. Java调用Azkaban相关服务:https://blog.csdn.net/shirukai/article/details/80841875
9. Azkaban安装部署:https://www.cnblogs.com/zhu520/p/7652900.html