可以直接使用编译好的包进行安装。
下载
登陆Azkaban的官网:https://azkaban.github.io/,点击Downloads,如图示:

点击之后,在跳转的页面中选择Releases,进入页面选择相应的版本下载,这里选择的版本是3.70.0版本,点击"Source code(tar.gz)"下载。


编译
上传下载好的azkaban,解压到/software/azkaban-temp文件夹
bash
tar -zxvf ./azkaban-3.70.0.tar.gz
mv ./azkaban-3.70.0 azkaban-temp
进入azkaban-temp目录,进行编译
bash
cd azkaban-temp
./gradlew distTar
如果上述命令执行失败,就多执行几次,或者将地址放到浏览器查看网络是否通畅,直到执行成功。遇到问题

修改azkaban-web-server模块下的build.gradle,distBaseUrl改为"https://npmmirror.com/mirrors/node"

继续执行上述命令,执行成功后,看到build success

安装
新建azkaban目录,将编译好的文件复制到此目录下
bash
mkdir ./azkaban
cp ./azkaban-temp/azkaban-db/build/distributions/azkaban-db-0.1.0-SNAPSHOT.tar.gz ./azkaban
cp ./azkaban-temp/azkaban-web-server/build/distributions/azkaban-web-server-0.1.0-SNAPSHOT.tar.gz ./azkaban
cp ./azkaban-temp/azkaban-exec-server/build/distributions/azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz ./azkaban
解压并重命名
bash
cd azkaban
tar -zxvf azkaban-db-0.1.0-SNAPSHOT.tar.gz
tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
mv azkaban-db-0.1.0-SNAPSHOT azkaban-db
mv azkaban-web-server-0.1.0-SNAPSHOT azkaban-web
mv azkaban-exec-server-0.1.0-SNAPSHOT azkaban-exec
导入脚本
导入数据库脚本:mysql -u root -p 输入数据库密码后创建数据库。注意:这里创建azkaban时建议使用 latin1编码,因为索引太长,utf8编码格式不支持,最高支持1000。
sql
create database azkaban default character set latin1;
use azkaban;
source /home/erbao/azkaban/azkaban/azkaban-db/create-all-sql-0.1.0-SNAPSHOT.sql;
检查下导入的表:show tables;

配置服务
首先生成ssl证书
bash
1.keytool -keystore keystore -alias jetty -genkey -keyalg RSA
2.输入密钥库口令:
3.再次输入新口令:
4.您的名字与姓氏是什么?
5.[Unknown]: azkaban
6.您的组织单位名称是什么?
7.[Unknown]: azkaban
8.您的组织名称是什么?
9.[Unknown]: azkaban
10.您所在的城市或区域名称是什么?
11.[Unknown]: beijing
12.您所在的省/市/自治区名称是什么?
13.[Unknown]: beijing
14.该单位的双字母国家/地区代码是什么?
15.[Unknown]: CN
16.CN=azkaban, OU=azkaban, O=azkaban, L=beijing, ST=beijing, C=CN是否正确?
17.[否]: Y
18.
19.输入 <jetty> 的密钥口令
20.(如果和密钥库口令相同, 按回车):
所有的都可以输入azkaban或者其他自己记得住的名字
将生成的文件拷贝到azkaban-web
bash
mv keystore azkaban-web
配置azkaban-web
进入azkaban-web/conf目录下,编辑azkaban.properties文件:
bash
1.# Azkaban Personalization Settings
2.azkaban.name=My Azkaban #服务器UI上显示的名字
3.azkaban.label=My Local Azkaban #描述
4.azkaban.color=#FF3601 #web ui 颜色
5.azkaban.default.servlet.path=/index
6.web.resource.dir=/software/azkaban/azkaban-web/web/ #web目录
7.default.timezone.id=Asia/Shanghai #设置时区,用于任务调度定时
8.# Azkaban UserManager class
9.user.manager.class=azkaban.user.XmlUserManager #用户权限管理默认类
10.user.manager.xml.file=/software/azkaban/azkaban-web/conf/azkaban-users.xml #用户配置文件
11.# Loader for projects
12.executor.global.properties=/software/azkaban/azkaban-web/conf/global.properties #全局配置文件
13.azkaban.project.dir=projects
14.# Velocity dev mode
15.velocity.dev.mode=false
16.# Azkaban Jetty server properties.
17.jetty.use.ssl=false #Jetty 服务器属性,开启配置成true
18.jetty.maxThreads=25 #最大线程数
19.jetty.port=8081 #Jetty 端口
20.jetty.keystore=/software/azkaban/azkaban-web/keystore #SSL 文件名
21.jetty.password=azkaban #SSL 文件密码
22.jetty.keypassword=azkaban #Jetty 主密码 与 keystore 文件相同
23.jetty.truststore=/software/azkaban/azkaban-web/keystore #SSL 文件名
24.jetty.trustpassword=azkaban # SSL 文件密码
25.jetty.ssl.port=8443 #配置ssl之后访问端口
26.# Azkaban Executor settings
27.# mail settings
28.mail.sender=
29.mail.host=
30.# User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users.
31.# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
32.# when this parameters set then these parameters are used to generate email links.
33.# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
34.# azkaban.webserver.external_hostname=myazkabanhost.com
35.# azkaban.webserver.external_ssl_port=443
36.# azkaban.webserver.external_port=8081
37.job.failure.email=
38.job.success.email=
39.lockdown.create.projects=false
40.cache.directory=cache
41.# JMX stats
42.jetty.connector.stats=true
43.executor.connector.stats=true
44.executor.port=12312 #executor 服务器端口
45.# Azkaban mysql settings by default. Users should configure their own username and password.
46.database.type=mysql #数据库类型
47.mysql.port=3306 #端口号
48.mysql.host=mynode2 #数据库连接Ip
49.mysql.database=azkaban #数据库实例
50.mysql.user=root #数据库用户名
51.mysql.password=123456 #数据库密码
52.mysql.numconnections=100 #最大连接数
53.#Multiple Executor 执行任务的 server查看日志,保存数据
54.azkaban.use.multiple.executors=true
55.azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus #
MinimumFreeMemory 去掉,因为检查每台节点是否有6G内存
56.azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1
57.azkaban.executorselector.comparator.Memory=1
58.azkaban.executorselector.comparator.LastDispatched=1
59.azkaban.executorselector.comparator.CpuUsage=1
主要更改配置:数据库、资源目录、时区、ssl(可选)、过滤器(可选)
web.resource.dir=/home/erbao/azkaban/azkaban/azkaban-web/web/
user.manager.xml.file=/home/erbao/azkaban/azkaban/azkaban-web/conf/azkaban-users.xml
executor.global.properties=/home/erbao/azkaban/azkaban/azkaban-web/conf/global.properties
default.timezone.id=Asia/Shanghai
jetty.use.ssl=true
ssl部分需要新增配置
jetty.keystore=/home/erbao/azkaban/azkaban/azkaban-web/keystore
jetty.password=azkaban
jetty.keypassword=azkaban
jetty.truststore=/home/erbao/azkaban/azkaban/azkaban-web/keystore
jetty.trustpassword=azkaban
jetty.ssl.port=8443
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=root
mysql.password=root
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
配置azkaban-executor
进入azkaban-exec/conf目录下,编辑azkaban.properties文件:
bash
1.# Azkaban Personalization Settings
2.azkaban.name=My Azkaban
3.azkaban.label=My Local Azkaban
4.azkaban.color=#FF3601
5.azkaban.default.servlet.path=/index
6.web.resource.dir=/software/azkaban/azkaban-web/web/
7.default.timezone.id=Asia/Shanghai
8.# Azkaban UserManager class
9.user.manager.class=azkaban.user.XmlUserManager
10.user.manager.xml.file=/software/azkaban/azkaban-web/conf/azkaban-users.xml
11.# Loader for projects
12.executor.global.properties=/software/azkaban/azkaban-web/conf/global.properties
13.azkaban.project.dir=projects
14.# Velocity dev mode
15.velocity.dev.mode=false
16.# Azkaban Jetty server properties.
17.jetty.use.ssl=false #不需要在executor中配置
18.jetty.maxThreads=25 #不需要在executor中配置
19.jetty.port=8081 #不需要在executor中配置
20.# Where the Azkaban web server is located
21.azkaban.webserver.url=http://localhost:8081
22.# mail settings
23.mail.sender=
24.mail.host=
25.# User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users.
26.# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
27.# when this parameters set then these parameters are used to generate email links.
28.# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
29.# azkaban.webserver.external_hostname=myazkabanhost.com
30.# azkaban.webserver.external_ssl_port=443
31.# azkaban.webserver.external_port=8081
32.job.failure.email=
33.job.success.email=
34.lockdown.create.projects=false
35.cache.directory=cache
36.# JMX stats
37.jetty.connector.stats=true
38.executor.connector.stats=true
39.# Azkaban plugin settings
40.azkaban.jobtype.plugin.dir=/software/azkaban/azkaban-exec/plugins/jobtypes
41.# Azkaban mysql settings by default. Users should configure their own username and password.
42.database.type=mysql
43.mysql.port=3306
44.mysql.host=mynode2
45.mysql.database=azkaban
46.mysql.user=root
47.mysql.password=123456
48.mysql.numconnections=100
49.# Azkaban Executor settings
50.executor.maxThreads=50
51.executor.port=12321
52.executor.flow.threads=30
主要更改配置:资源目录、时区、
web.resource.dir=/home/erbao/azkaban/azkaban/azkaban-web/web/
user.manager.xml.file=/home/erbao/azkaban/azkaban/azkaban-web/conf/azkaban-users.xml
executor.global.properties=/home/erbao/azkaban/azkaban/azkaban-exec/conf/global.properties
default.timezone.id=Asia/Shanghai
azkaban.webserver.url=http://localhost:8081
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
新增配置,因为激活时需要数据executor的端口,如果没有配置就是随机的,后续不好处理。
executor.port=12321
启动
启动azkaban-executor
进入azkaban-exec/bin目录,启动AzkabanExecutorServer,jps 检查进程,出现AzkabanExecutorServer进程表示启动成功。
bash
cd /azkaban-exec/bin
./start-exec.sh
# 稍等片刻使用jps查看是否有了进程,有进程代表启动成功
激活AzkabanExecutor:
浏览器中输入:http://mynode5:12321/executor?action=activate
上述端口就是配置的端口,如果忘了配置,在bin目录下生成了文件executor.port,可以执行cat查看端口

显示success为激活成功

启动azkaban-web
进入/software/azkaban/azkaban-web/bin目录,启动AzkabanWebServer,jps检查进程,出现AzkabanWebServer进程表示启动成功。
bash
cd azkaban-web/bin
./start-web.sh
浏览器输入地址:https://192.168.8.172:8443/ 默认用户密码都是azkaban
安装完成!!!