官网:https://azkaban.github.io/
Azkaban是一款开源工作流管理器。Azkaban是在LinkedIn上创建的批处理工作流作业调度程序,用于运行Hadoop作业。Azkaban通过作业依赖性解决订单,并提供易于使用的Web用户界面来维护和跟踪您的工作流程。
一、Azkaban安装部署
1. 解压,安装文件
azkaban-web-server-2.5.0.tar.gz (Azkaban服务器端)
azkaban-executor-server-2.5.0.tar.gz (Azkaban执行端、客户端)
azkaban-sql-script-2.5.0.tar.gz (Azkaban初始化SQL)
mysql-libs.zip (MySQL安装文件,Azkaban目前只支持MySQL)
2. 进入mysql创建azkaban库,然后将解压好的脚本导入
create database azkaban;
use azkaban;
source /root/hd/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql;
3. 生成证书
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
将keystore移动到server文件夹下
4. 时间同步配置
任务调度,所以和本地时间保持一致
SecureCRI开启交互窗口,XShell也有多窗口同时设置的功能:
sudo date -s '要设置的时间'
hwclock -w (将系统时钟同步到硬件时钟)
/** 这两步可以省略
Linux时区文件位置:/usr/share/zoneinfo/Asia/Shanghai
覆盖系统时间:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
5. 修改server端配置文件
azkaban.properties
azkaban-users.xml
6. 修改excutor端配置文件
azkaban.properties
7. 启动
服务端启动文件:bin/azkaban-web-start.sh
服务端关闭文件:bin/azkaban-web-shutdown.sh
客户端启动文件:bin/azkaban-executor-start.sh
客户端关闭文件:bin/azkaban-executor-shutdown.sh
先启动服务端,在启动客户端,访问地址:https://192.168.10.101:8443,Google浏览器会提示警告,可忽略,继续访问。
二、服务端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的配置
mysql.port=3306
mysql.host=hd101 --- 不要用localhost,使用host主机名
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100 ---最大连接数
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.maxThreads=25 ---jetty最大连接数
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore
jetty.password=password ---生成证书时设置的密码
jetty.keypassword=password ---生成证书时设置的密码
jetty.truststore=keystore ---证书的文件名
jetty.trustpassword=password ---生成证书时设置的密码
# Azkaban Executor settings
executor.port=12321 ---执行器的端口,客户端
# mail settings ---Email的一些配置,用于用户通知
mail.sender=
mail.host=
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache --缓存目录
三、服务端azkaban-users.xml(配置网页管理工具的登录用户名)
<azkaban-users>
<user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
<user username="metrics" password="metrics" roles="metrics"/>
<user username="admin" password="admin" roles="admin,metrics"/>
<role name="admin" permissions="ADMIN" />
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
四、客户端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=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50 ---最大线程数
executor.port=12321 ---执行器默认端口
executor.flow.threads=30 -----流程线程数