大数据之安装azkaban

可以直接使用编译好的包进行安装。

下载

登陆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

安装完成!!!

相关推荐
Irene19911 小时前
大数据开发场景下,总结并翻译 Oracle 中常见的错误(补充其他错误码:适合初学者)
大数据·oracle
财经资讯数据_灵砚智能1 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月29日
大数据·人工智能·python·信息可视化·自然语言处理
Volunteer Technology2 小时前
Elasticsearch分布式原理
大数据·分布式·elasticsearch
Promise微笑10 小时前
2026年国产替代油介损测试仪:油介损全场景解决方案与技术演进
大数据·网络·人工智能
workflower10 小时前
具身智能行业应用-生活服务业
大数据·人工智能·机器人·动态规划·生活
志栋智能12 小时前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
xiaoduo AI12 小时前
客服机器人非工作时间能休眠?智能Agent开放平台定时唤醒,无人值守省资源?
大数据·人工智能·机器人
好赞科技13 小时前
深度测评2026年精选美发预约小程序排行榜 革新预约新体验 修订
大数据·微信小程序
集和诚JHCTECH14 小时前
BRAV-7120加持,让有毒有害气体无处遁形
大数据·人工智能·嵌入式硬件