Azkaban-3.x 页面操作手册

1. 创建Flow

使用Azkaban Flow 2.0 来创建任务流,Flow 1.0 将被废弃

  • 创建一个名为flow20.project的文本文件,添加如下内容用以说明这是一个Azkaban Flow 2.0的项目:
azkaban-flow-version: 2.0
  • 创建一个名为basic.flow的文本文件,其中定义了一个project中所有需要运行的job,使用nametype来定义一个job,大部分job都会需要config这个配置,详细的内容在下文中说明,这里只是一个简单的示例:

nodes:
  - name: jobA
    type: command
    config:
      command: echo "This is an echoed text."
  • 选择上面创建好的两个文件,然后将其压缩为一个名为Archive.zip的zip文件,注意,是把两个文件压缩为一个文件,Linux中的操作如下:

[hadoop@beh07 tmp]$ mkdir zip-test
[hadoop@beh07 tmp]$ mv flow20.project basic.flow zip-test/
[hadoop@beh07 tmp]$ cd zip-test/
# 将目录下的所有文件打成一个zip包
[hadoop@beh07 zip-test]$ zip -r Archive.zip .

# 错误操作
# 这是把zip-test这个目录打成一个zip包
[hadoop@beh07 tmp]$ zip -r Archive.zip zip-test

2. 创建Project

登录Azkaban

Azkaban-3.x 页面操作手册

登录到Azkaban后,将看到Project页面。 此页面将显示当前用户拥有读取权限的所有项目的列表。如果用户所在的组对某个项目具有READ或ADMIN权限,而用户本身不具有这些权限,那么这个项目不会在这里列出。我这里是第一次登陆,还没有创建过任何项目。

Azkaban-3.x 页面操作手册

创建Project

Azkaban-3.x 页面操作手册
Azkaban-3.x 页面操作手册
Azkaban-3.x 页面操作手册

单击Permissions标签可以对此项目进行权限管理

Azkaban-3.x 页面操作手册

3. 上传Project

Azkaban-3.x 页面操作手册

上传我们准备好的Archive.zip文件,Azkaban目前只支持上传zip文件,上传后Azkaban将验证zip文件中的内容,检查Flow的依赖关系,遇到任何无效的Flow例如循环依赖的Flow,都会宣告上传失败。

新上传的Flow将会覆盖此项目中之前已经存在的Flow,成功上传之后,会在屏幕上列出所有的Flow。

Azkaban-3.x 页面操作手册
Azkaban-3.x 页面操作手册
Azkaban-3.x 页面操作手册

4. 查看Flow

Azkaban-3.x 页面操作手册

你会看到图形化显示的Flows,右键单击job,还可以查看job的详细信息

Azkaban-3.x 页面操作手册

单击Executions标签页可以查看此项目以往的调度情况

Azkaban-3.x 页面操作手册

5. Project权限管理

创建项目时,将自动为创建者赋予该项目的ADMIN权限。 创建者可以查看,上传,修改作业,调度作业,删除项目以及给项目添加用户权限。 具有ADMIN权限的用户可以删除其他ADMIN用户,但不能删除自己。 这是为了防止项目成为“无人管”的项目,在权限页面上,ADMIN可以将其他用户,组或代理用户添加到项目中。

Azkaban-3.x 页面操作手册

添加用户(此用户必须存在)并为其设置对本项目的权限:

Azkaban-3.x 页面操作手册

删除用户对本项目的权限只要取消对任意权限的勾选,并提交即可。

组权限设置组中的每个人都具有指定的权限。 可以通过勾选权限来设置组权限,通过取消选中组权限来删除组权限。

如果在用户配置中添加了代理用户:

<!-- proxy配置只是说azkaban用户可以代理系统用户user1和user2,但是否代理需要在页面配置 -->
<user username="azkaban" password="azkaban" roles="admin" groups="azkaban" proxy="user1,user2" />

那么添加代理用户,就会允许Project以这些用户身份运行。添加后,通过点击Rmove