下载地址:https://github.com/azkaban/azkaban
1、MySQL安装与配置(略)
创建数据库azkaban
sudo service mysqld start
mysql -uroot -p
mysql> create database azkaban;
mysql> use azkaban;
Database changed
mysql> source /home/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql;
mysql> show tables;
+------------------------+
| Tables_in_azkaban |
+------------------------+
| active_executing_flows |
| active_sla |
| execution_flows |
| execution_jobs |
| execution_logs |
| project_events |
| project_files |
| project_flows |
| project_permissions |
| project_properties |
| project_versions |
| projects |
| properties |
| schedules |
| triggers |
+------------------------+
15 rows in set (0.00 sec)
2、安装安装azkaban-web
1、解压azkaban-sql-script-2.5.0.tar.gz,执行其中的create-all-sql-2.5.0.sql文件
2、解压azkaban-web-server-2.5.0.tar.gz,修改配置文件azkaban-web-server-2.5.0/conf/azkaban.properties
default.timezone.id=Asia/Shanghai #默认时区,已改为亚洲/上海 默认为美国
executor.global.properties=/home/azkaban/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=root
mysql.password=root
mysql.numconnections=100
# Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore #SSL文件名
jetty.password=azkaban #SSL文件密码
jetty.keypassword=azkaban #Jetty主密码 与 keystore文件相同
jetty.truststore=truststore #SSL文件名
jetty.trustpassword=azkaban #SSL文件密码
3、修改web登录用户及密码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>
4、配置SSL的KeyStore
因为走的是https协议所以需要这一步操作,执行一下命令一定要在进入azkaban-web-2.5.0文件夹之后执行,生成密钥keystore在azkaban-web-2.5.0文件夹中,把 keystore 考贝到 azkaban web服务器bin目录中
注意:密码必须与azkaban.properties中jetty密码相同,否则错误Keystore was tampered with, or password was incorrect
keytool -genkey -keystore keystore -alias jetty-azkaban -keyalg RSA -validity 3560 #需要输入一系列密码,最好统一输入#
keytool -export -alias jetty-azkaban -keystore keystore -rfc -file selfsignedcert.cer #需要输入一系列密码,最好统一输入#
keytool -import -alias certificatekey -file selfsignedcert.cer -keystore truststore #需要输入一系列密码,最好统一输入#
如果需要删除则使用如下:
keytool -delete -alias jetty-azkaban -keystore keystore -storepass azkaban
5、增加文件夹logs
/home/azkaban/azkaban-web-2.5.0/logs
注意:ERROR [AzkabanWebServer] [Azkaban] plugin path plugins/triggers doesn't exist!
忽视
如果添加 triggers 文件夹,登录页面时 500 并提示 Velocity could not be initialized!
6、添加环境变量(非必须)
sudo vim /etc/profile
AK_HOME=/home/azkaban/azkaban-web-2.5.0
PATH=$PATH:$PATH/bin
7、启动web服务器
nohup bin/azkaban-web-start.sh &
登录:https://s166:8443/
8、修改执行服务器配置文件
vim conf/azkaban.properties
#Azkaban
default.timezone.id=Asia/Shanghai #默认时区,已改为亚洲/上海 默认为美国
# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes #jobtype 插件所在位置
#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
database.type=mysql #数据库类型(目前只支持mysql)
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=root
mysql.password=root
mysql.numconnections=100 #最大连接数
# Azkaban Executor settings
executor.maxThreads=50 #最大线程数
executor.port=12321 #端口号(如修改,请与web服务中一致)
executor.flow.threads=30 #线程数
9、启动执行服务器
bin/azkaban-executor-start.sh