azkaban工作流调度器
Azkaban是由Linkedin公司推出的一个批量工作流任务轻量级调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程, 可定时, Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流
azkaban 的资源下载链接:https://pan.baidu.com/s/1XGSg2rBU3jJruOnGm7x1VQ 密码:thd3
各种调度工具特性对比:
Azkaban 安装部署
1.下载 azkaban web和执行服务器, sql脚本, 解压在/usr/local/azkaban/下并重命名
azkaban-executor-2.5.0.zip 解压后从命名azkaban-executor
azkaban-web-2.5.0.zip 解压后从命名azkaban-web
azkaban-sql-script-2.5.0.tar.gz 解压后从命名azkaban-sql
- 登陆mysql, 设置编码为utf8, 为Azkaban创建数据库, 并授权, 导入脚本
create database azkaban;
grant all on azkaban.* to 'root'@'%' identified by 'root';
flush privileges;
use azkaban;
source /usr/local/azkaban/azkaban-sql/create-all-sql-2.5.0.sql;
- 创建SSL配置
keytool -keystore keystore -alias jetty -genkey -keyalg RSA (记住密码)
tzselect 使用交互式命令设置时区(Asia/Shanghai, 选北京就是上海)
cp keystore /usr/local/azkaban/azkaban-web 将当前目录生成 keystore证书文件拷贝到web服务器根目录中
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 拷贝该时区文件,覆盖系统本地时区配置
- azkaban web服务器配置及用户配置, 进入web服务器安装目录conf
web服务器配置如下:
vi azkaban.properties
#Azkaban Personalization Settings
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
default.timezone.id=Asia/Shanghai
#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=conf/azkaban-users.xml
#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=192.168.33.205
mysql.database=azkaban
mysql.user=root
mysql.password=root
mysql.numconnections=100
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore
jetty.password=111111 #上面配置让记住的那个密码
jetty.keypassword=111111
jetty.truststore=keystore
jetty.trustpassword=111111
# Azkaban Executor settings
executor.port=12321
# mail settings
# 发送邮箱
mail.sender=
#发送邮箱smtp地址
mail.host=
# 任务失败时发送邮件的地址
job.failure.email=
# 任务成功时发送邮件的地址
job.success.email=
lockdown.create.projects=false
cache.directory=cache
用户配置如下:
vi azkaban-users.xml
<azkaban-users>
<user username="azkaban" password="azkaban" roles="admin" groups="azkaban"/>
<user username="metrics" password="metrics" roles="metrics"/>
<!-- 设置登录 https://192.168.33.205:8443的账号和密码 -->
<user username="admin" password="admin" roles="admin,metrics"/>
<role name="admin" permissions="ADMIN" />
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
- azkaban executor服务器配置, 进入执行服务器安装目录conf
vi azkaban.properties
#Azkaban
default.timezone.id=Asia/Shanghai
# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes
#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=192.168.33.205
mysql.database=azkaban
mysql.user=root
mysql.password=root
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30
- 启动各个服务器
azkaban web服务器的启动与关闭, 注意: 只能在web服务器根目录运行
bin/azkaban-web-start.sh
bin/azkaban-web-shutdown.sh
azkaban executor服务器的启动与关闭, 注意: 只能在执行服务器根目录运行
bin/azkaban-executor-start.sh
bin/azkaban-executor-shutdown.sh
7.登录Web用户界面, 进行操作
网址示例: https://192.168.33.205:8443
注意一定是https开头,说不是安全链接,不用管直接继续访问就好