Azkaban运行模式
在3.x版本里,提供了3种运行模式
- the stand alone “solo-server” mode standalone模式
- the heavier weight two server mode 两个server的模式
- distributed multiple-executor mode 分布式(多个executor的模式)
solo server mode
采用的DB是H2,而web server和executor server都在同一个进程中运行。
应用于小规模的用例。
two server mode
应用于生产环境,采用的DB是MySQL,master-slave模式。
web server和executor server在不同的进程中运行,因此升级和维护不会影响用户。
multiple executor mode
应用于生产环境(分布式),采用的DB是MySQL,master-slave模式。
web server和executor server在不同的主机上运行,因此升级和维护不应该影响用户。
该模式为Azkaban带来了健壮和可伸缩的性能。
上一节我们已经介绍过了 solo server mode,在此不做介绍。
集群部署详见https://blog.csdn.net/huohuotu/article/details/77487007
Azkaban运行
首先登陆8081端口的页面,然后创建项目(create project 右上角)。
创建完成后,进入项目如下所示:
右上角有个upload,需要上传azkaban的流,流的写法如下。
Azkaban 流
流有两种写法。
- .flow写法:
在文件夹里创建一个叫flow20.project的文件,里面写入:azkaban-flow-version: 2.0
在文件夹里创建一个叫basic.flow的文件,里面写入:
nodes:
- name: craw
type: command
config:
command: echo "LeesangHyuk No.1."
将这个文件夹打包zip上传到之前的网页运行即可。
- .job写法
在文件夹里创建一个叫craw.job的文件,里面写入:
type=command
command=echo "LeesangHyuk No.1."
将这个文件夹打包zip上传到之前的网页运行即可。
上传后,如下图所示
Permissions可以修改用户权限(其他功能在此不做赘述)。
点击execute flow。
然后点击右下角execute即可,运行后,可以查看运行历史。
另外Schedule里面可以设置定时运行,设置方法与crontab一样。
Job Dependency
- .flow版本
nodes:
- name: jobC
type: noop
# jobC depends on jobA and jobB
dependsOn:
- jobA
- jobB
- name: jobA
type: command
config:
command: echo "This is an echoed text."
- name: jobB
type: command
config:
command: pwd
- .job版本
需要创建多个job文件,并且dependencies的名字和xxx.job的名字相同
type=command
#需要配置好hadoop命令,建议编写到shell中,可以后期维护
command=hadoop fs -put /data/*
#多个依赖用逗号隔开
dependencies=o2o_get_file_ftp1,o2o_get_file_ftp2