Azkaban Quick Start



在开始之前

这里使用 Web server + Executor 的模式,不使用Solo server
下载地址

环境搭建

配置数据库

注:目前Azkaban2仅支持MySQL作为数据存储仓库。

  1. 安装MySQL

可参考: MySQL Documentation Site

  1. 配置数据库

为Azkaban创建一个数据库,如:

mysql> CREATE DATABASE azkaban;

为Azkaban创建一个数据库用户,如:

mysql> CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

配置用户权限,为创建的用户添加对于Azkaban数据库的INSERT, SELECT, UPDATE, DELETE权限。

mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON <database>.* to '<username>'@'%' WITH GRANT OPTION;

(可选)配置MySQL max_allowed_packet属性,提高Packet Size,目前尚未发现未配置有何不良影响。

修改/etc/my.cnf,如下:

[mysqld]
...
max_allowed_packet=1024M

修改之后重启MySQL(数据库不方便重启的可以暂时跳过这一步)

$ sudo service mysqld restart
  1. 创建Azkaban表

下载页面下载 azkaban-sql-script 包,在新建的Azkaban数据库里面运行create-all-sql脚本即可。忽略update开头的脚本。

  1. 获取JDBC Connector Jar包

由于某些原因,Azkaban不提供这个包,我们需要自己下载然后放到Web Server以及Executor Server的extlib目录下。MySQL JDBC connector jar

启动Azkaban Web Server

将下载的Web Server包解压,进入Web Server目录下。

生成KeyStore

执行以下命令,根据指示输入即可。

$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
配置
  1. azkaban.properties中配置keyStroe相关参数,例如:
jetty.keystore=keystore
jetty.password=password
jetty.keypassword=password
jetty.truststore=keystore
jetty.trustpassword=password
  1. azkaban.properties中配置mysql相关参数,例如:
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
  1. azkaban.properties中配置UserManager相关参数,例如:

UserManager提供了用户认证和用户角色信息。根据以下配置,Azkaban会使用XmlUserManager获取azkaban-users.xml用的帐号/密码和角色信息。

user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=conf/azkaban-users.xml
运行Web Server

确保azkaban.properties中的配置如下:

jetty.maxThreads=25
jetty.ssl.port=8443

执行bin/start-web.sh启动web server
执行bin/azkaban-web-shutdown.sh停止

启动Azkaban Executor Server
配置

azkaban.properties中配置mysql相关参数,例如:

database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
运行Executor Server

确保azkaban.properties中的配置如下:

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

执行bin/start-exec.sh启动executor server
执行bin/azkaban-exec-shutdown.sh停止

使用Azkaban

设置邮件提醒

配置发送端
在Web Server azkaban.properties 中将如下配置填充。

# mail settings
mail.sender=
mail.host=
mail.user=
mail.password=

接收端有两种配置方法,一种是在job的配置文件中配置,例如:

# hello 

type=command
command=echo "Hello "
command.1= sh hello.sh
success.emails=persian.huang@jinfuzi.com,daniel.deng@jinfuzi.com
failure.emails=persian.huang@jinfuzi.com,daniel.deng@jinfuzi.com
notify.emails=persian.huang@jinfuzi.com,daniel.deng@jinfuzi.com

另一种是在执行Job的时候重写邮箱列表,例如:

工作流依赖关系配置

例如:

hello.job

# hello 

type=command
command=echo "Hello "
command.1= sh hello.sh
failure.emails=persian.huang@jinfuzi.com,daniel.deng@jinfuzi.com
retries=3
retry.backoff=1000

world.job

# world.job

type=command
dependencies=hello
command=echo "world!"

world2.job

# world.job

type=command
dependencies=hello
command=echo "world2!"

end.job

# world.job

type=command
dependencies=world,world2
command=echo "world2!"

打包上传可以查看工作流信息如下:

Job Types使用介绍

可参考: Jobtypes

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值