azkaban学习笔记总结java
现成的开源调度系统,好比ooize、azkaban。mysql
Azkaban是由Linkedin开源的一个批量工做流任务调度器。用于在一个工做流内以一个特定的顺序运行一组工做和流程。Azkaban定义了一种KV文件格式来创建任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工做流。
它有以下功能特色:web
最好结合shell脚原本完成调度。sql
azkaban最好安装在master上,方便各类命令的执行。shell
Azkaban Web服务器:
azkaban-web-server-2.5.0.tar.gz数据库
Azkaban执行服务器:
azkaban-executor-server-2.5.0.tar.gz服务器
MySQL:
目前azkaban只支持 mysql,需安装mysql服务器,能够安装在某个节点之上(172.23.27.11),并创建了 root用户,密码 921015.模块化
1.解压学习
tar –zxvf azkaban-web-server-2.5.0.tar.gz mv azkaban-web-server-2.5.0 server
2.建立SSL配置插件
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
运行此命令后,会提示输入当前生成 keystor的密码及相应信息,输入的密码请劳记,信息以下:
输入keystore密码:
再次输入新密码:
输入相同密码921015
完成上述工做后,将在当前目录生成 keystore 证书文件,将keystore 考贝到 azkaban web服务器根目录中.
cp keystore azkaban/server
3.配置文件
注:先配置好服务器节点上的时区
一、先生成时区配置文件Asia/Shanghai,用交互式命令 tzselect 便可
二、拷贝该时区文件,覆盖系统本地时区配置
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改conf/azkaban.properties
default.timezone.id=Asia/Shanghai #时区 database.type=mysql mysql.port=3306 mysql.host=172.23.27.11 mysql.database=azkaban #数据库实例名 mysql.user=root mysql.password=921015 # Azkaban Jetty server properties. jetty.maxThreads=25 jetty.ssl.port=8443 jetty.keystore=keystore jetty.password=921015 jetty.keypassword=921015 jetty.truststore=keystore jetty.trustpassword=921015
其他不修改。
修改conf/azkaban-users.xml,添加web访问用户密码
<user username="admin" password="admin" roles="admin,metrics" />
修改conf/azkaban.properties
default.timezone.id=Asia/Shanghai #时区 #数据库设置 database.type=mysql mysql.port=3306 mysql.host=172.23.27.11 mysql.database=azkaban #数据库实例名 mysql.user=root mysql.password=921015
tar –zxvf azkaban-sql-script-2.5.0.tar.gz
在安装了MySQL的节点
mysql> create database azkaban; mysql> use azkaban; mysql> source /opt/azkaban-2.5.0/create-all-sql-2.5.0.sql;
bin/azkaban-web-start.sh
或者启动到后台:
nohup bin/azkaban-web-start.sh 1>/tmp/azstd.out 2>/tmp/azerr.out &
bin/azkaban-executor-start.sh
用户名密码:admin
多依赖job示例
第一个job:foo.job
# foo.job type=command command=echo foo
第二个job:bar.job依赖foo.job
# bar.job type=command dependencies=foo command=echo bar
将全部job资源文件打到一个zip包中。
在web页面中建立工程,并上传zip包。
能够设置调度时间和当即执行。
暂时先记录到这儿吧,之后再完善。