azkaban安装与使用

azkaban安装与使用

安装步骤

准备文件

azkaban-web-server-2.5.0.tar.gz
azkaban-executor-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz

其中,azkaban-web-server-2.5.0.tar.gz是服务器,azkaban-executor-server-2.5.0.tar.gz是执行服务器,azkaban-sql-script-2.5.0.tar.gz是执行的sql脚本。

创建数据库(类似hive数据库,只能是mysql)

 create database azkaban;

创建用户

create user 'azkaban'@'%' identified by '123456';

授权给azkaban用户

GRANT SELECT,INSERT,DELETE,UPDATE ON azkaban.*TO'azkaban'@'%' 
WITH GRANT OPTION;

解压azkaban-sql文件,将里面的create-all-sql-0.1.0-SNAPSHOT.sql文件取出,放到一个目录下面,在mysql中source该文件,创建需要的表

修改最大packet大小

vi /etc/my.cnf
max_allowed_packet=1024M

修改配置文件

azkaban-exec

[root@hadoop12 conf]# vi ./azkaban.properties
default.timezone.id=Asia/Shanghai
azkaban.webserver.url=http://192.168.56.12:8081
database.type=mysql
mysql.port=3306
mysql.host=192.168.153.131
mysql.database=azkaban
mysql.user=azkaban
mysql.password=123456
executor.port=12321

azkaban-web

[root@hadoop12 azkaban-web]# vi ./conf/azkaban.properties 
default.timezone.id=Asia/Shanghai
mysql.port=3306
mysql.host=192.168.56.12
mysql.database=azkaban
mysql.user=azkaban
mysql.password=Azkaban123456..
#,MinimumFreeMemory 要求最低内存为6G
49 azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
[root@hadoop12 azkaban-web] vi ./conf/azkaban-users.xml
//添加web的用户
<user password="123456" roles="admin" username="kgc"/>

启动

azkaban-exec

[root@hadoop12 azkaban-exec]# ./bin/start-exec.sh 
[root@hadoop12 azkaban-exec]# jps
20407 AzkabanExecutorServer


[root@hadoop12 azkaban-exec]# curl -G "192.168.56.12:12321/executor?action=activate" && echo
{"status":"success"}

azkaban-web

[root@hadoop12 azkaban-web]# ./bin/start-web.sh
[root@hadoop12 azkaban-web]# jps
2494 AzkabanWebServer

用浏览器访问http://192.168.56.12:8081,用添加的用户名和密码登录
在这里插入图片描述

使用

1.编写project和flow文件

azkaban.project

azkaban-flow-version: 2.0

one.flow

nodes:
  - name: jobOne
    type: command
    config:
      command: echo "hello world"

2.将以上两文件压缩为zip格式的文件
在这里插入图片描述3.用浏览器登录azkaban点击create project创建工程
在这里插入图片描述

4,进入工程,上传之前压缩的zip包
在这里插入图片描述5,点击execute执行
在这里插入图片描述在这里插入图片描述
出现上图表示执行成功

flow文件展示

two.flow

nodes :
  - name: jobA
    type: command
    config:
      command: echo "jobA"
  - name: jobB
    type: command
    config:
      command: sh jobB.sh
  - name: jobC
    type: command
    dependsOn:
      - jobA
      - jobB
    config:
      command: echo "jobC"    

表示jobC依赖于jobA和jobB,等它们执行完再执行jobC

three.flow

nodes:
  - name: joberror
    type: command
    config: 
      command: sh jobB.sh
      retries: 3
      retry.backoff: 5000

表示jobB如果执行出错,重新执行三次 ,每次间隔5秒

four.flow

nodes:
  - name: jobA
    type: command
    config: 
      command: sh jobA.sh
  - name: jobB
    type: command
    dependsOn: 
      - jobA
    config:
      command: sh jobB.sh
    condition: ${jobA:wk} == 1

表示当jobA的wk为1时执行jobB,否则不执行

five.flow

nodes:
  - name: jobA
    type: command
    config:
      command: sh jobA.sh
  - name: jobB
    type: command
    config:
      command: sh jobB.sh
  - name: jobC
    type: command
    dependsOn:
      - jobA
      - jobB
    config:
      command: sh jobC.sh
    condition: one_success

表示jobC依赖于jobA和jobB,等该两个任务有其中一个执行成功,在执行jobC,否则不执行

支持的预定义宏

预定义宏含义
all_success默认值,所有父job全部成功
all_done所有父job全部完成
all_failed所有父job全部失败
one_success至少有一个父job成功
one_failed至少有一个父job失败

每个预定义宏的相应作业状态:

预定义宏作业状态
all_doneFAILED, KILLED, SUCCEEDED, SKIPPED, FAILED_SUCCEEDED, CANCELLED
all_success / one_successSUCCEEDED, SKIPPED, FAILED_SUCCEEDED
all_failed / one_failedFAILED, KILLED, CANCELLED

azjava.flow

nodes:
  - name: akJava
    type: javaprocess
    config: 
      Xms: 100M
      Xmx: 200M
      java.class: cn.kgc.kb11.TestJavaProcess kgc kbll

执行java代码,需将相应jar包一起打包压缩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值