azkaban调度

azkaban调度

1、概述

azkaban是一套调度系统,常用大数据作业调度。azkaban包括web和executor两套程序,web主要完成展示和交互,executor上完成调度和作业提交执行。

2、安装

3、启动

3.1 启动web程序

$>/soft/azkaban/web/bin/azkaban-web-start.sh

3.2 执行executor程序

$>/soft/azkaban-exec/bin/azkaban-executor-start.sh

4、登录webui

http://s101:8081

5、登录界面

azkaban-001

azkaban-002

6、创建工程

6.1 点击创建项目按钮

azkaban-003

6.2 输入项目信息

azkaban-004

6.3 查看创建项目

azkaban-005

7、创建job文件和依赖关系

7.1 编写job文件

job文件以job作为扩展名,job中涉及的sh脚本需要保证在executor节点上存在,实际执行时都是由executor在本机上执行特定的shell脚本。

7.1.1 加载数据到原生表job

[1_load_data_to_hive_raw_logs.job],该job是第一个job,没有依赖。

type=command
command=sh /home/centos/umeng/load_data_to_hive_raw_logs.sh

##### 7.1.2 叉分startuplogs并转储job

[2_1_fork_startuplogs.job]

type=command
command=sh /home/centos/umeng/fork_logs.sh fork_startuplogs.sql forkstartuplogs
dependencies=1_load_data_to_hive_raw_logs
7.1.3 叉分eventlogs并转储job

[2_2_fork_eventlogs.job]

type=command
command=sh /home/centos/umeng/fork_logs.sh fork_eventlogs.sql forkeventlogs
dependencies=1_load_data_to_hive_raw_logs
7.1.4 叉分errorlogs并转储job

[2_3_fork_errorlogs.job]

type=command
command=sh /home/centos/umeng/fork_logs.sh fork_errorlogs.sql forkerrorlogs
dependencies=1_load_data_to_hive_raw_logs
7.1.5 叉分usagelogs并转储

[2_4_fork_usagelogs.job]

type=command
command=sh /home/centos/umeng/fork_logs.sh fork_usagelogs.sql forkusagelogs
dependencies=1_load_data_to_hive_raw_logs
7.1.6 job 叉分pagelogs并转储job

[2_5_fork_pagelogs.job]

type=command
command=sh /home/centos/umeng/fork_logs.sh fork_pagelogs.sql forkpagelogs
dependencies=1_load_data_to_hive_raw_logs
7.1.7 编写收尾job

job之间可以指定依赖,多个依赖使用,分割。

[3_end.job]

type=noop
dependencies=2_1_fork_startuplogs,2_2_fork_eventlogs,2_3_fork_errorlogs,2_4_fork_usagelogs,2_5_fork_pagelogs
7.1.8 总结

以上共生成7个job文件,如下图所示:

azkaban-006

8、将所有job打成一个zip文件

8.1 安装zip命令

centos 7默认没有集成zip命令,需要单独安装。

#安装zip命令
$>sudo yum install -y zip

8.2 打包job文件到一个zip中

$>cd /home/centos/umeng/job
#将当前所有文件打成1.zip文件
$>zip 1.zip *

8.3 1.zip文件内容如下

azkaban-009

9、上传zip文件

9.1 点击上传按钮

azkaban-007

9.2 选中zip文件

azkaban-008

9.3 查看上传结果

azkaban-010

9.4 展开job,查看依赖关系

azkaban-011

10、job的执行与调度

job在上传之后,可以单独执行某个job,带依赖关系也可以不带依赖关系。执行通常用来测试,测试通过后就可以进行调度作业。

10.1 job执行

10.1.1 展开job的依赖列表

azkaban-012

azkaban-013

10.1.2 执行无依赖job

azkaban-014

azkaban-015

10.1.3 执行有依赖job

azkaban-016

azkaban-017

10.1.4 执行无依赖job

猜你喜欢

转载自www.cnblogs.com/xupccc/p/9545703.html
今日推荐