• jdk、MySQL环境
  • Azkaban3.50.0安装包

安装环境

上传并解压

1
tar -zxvf azkaban-3.50.0.tar.gz -C /export/servers/

重命名Azkaban

1
mv azkaban-3.50.0/ azkaban3.50

Azkaban源文件编译

过程可能需要很长时间,建议使用第③种方法

①Azkaban最新源文件地址为https://github.com/azkaban/azkaban,可以直接下载ZIP压缩包。

②使用Git工具拉取如下

先安装git

1
yum -y install git

进入azkaban3.50里运行

1
./gradlew build -x test

点击蓝奏云下载

安装配置

启动MySQL

没有MySQL可以参考Hive安装文档里的MySQL安装

1
mysql -uroot -p123456

创建Azkaban的数据库以及用户

1
create database azkaban;

在默认的配置下,MySQL会根据配置文件限制接收数据包的大小

vi /etc/my.cnf增加属性设置大小

1
max_allowed_packet=1024M

完成以上配置后必须使用以下指令重启MySQL

1
sudo /sbin/service mysqld restart

创建文件夹将下载的编译文件上传到该文件夹

1
mkdir -p azkaban-db/build/distrbutions

将azkaban-db-0.1.0-SNAPSHOT.tar.gz进行解压

1
tar -zxvf azkaban-db-0.1.0-SNAPSHOT.tar.gz

将刚刚解压的文件里的create-all-sql-0.1.0-SNAPSHOT.sql传入MySQL里

1
mysql -uroot -p123456

输入绝对路径,可以使用pwd获取路径并且复制

1
2
3
use azkaban;

source /export/servers/azkaban3.50/azkaban-db/build/distrbutions/azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql

查看是否导入成功——退出MySQL

1
2
3
show tables;

quit;

继续解压azkaban-web-server-0.1.0-SNAPSHOT.tar.gz到azkaban的根目录下

1
tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz -C /export/servers/azkaban3.50/

继续解压azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz到当前目录

1
tar -zxvf azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz

进入azkaban-solo-server-0.1.0-SNAPSHOT将里面conf、plugins复制到上面解压出来的azkaban-web-server-0.1.0-SNAPSHOT文件里

1
2
scp -r conf /export/servers/azkaban3.50/azkaban-web-server-0.1.0-SNAPSHOT/
scp -r plugins /export/servers/azkaban3.50/azkaban-web-server-0.1.0-SNAPSHOT/

进入到该目录下创建一个extlib文件夹

1
2
cd /export/servers/azkaban3.50/azkaban-web-server-0.1.0-SNAPSHOT/
mkdir extlib

创建SSL

Azkaban使用SSL套接字连接器

1
keytool -keystore keystore -alias jetty -genkey -keyalg RSA

密钥库口令输入123456,接下来的问题可自定义或不填;

然后在is correct?(是否正确)的地方输入Y(大写),之后回车就ok

Azkaban Web配置

在azkaban-web-server-0.1.0-SNAPSHOT目录下打开conf目录下配置以下文件

vi azkaban.properties

default.timezone.id=America/Los_Angeles

替换成

1
2
# 将默认时区改为 亚洲/上海
default.timezone.id=Asia/Shanghai

database.type=h2
h2.path=./h2
h2.create.tables=true

替换成

1
2
3
4
5
6
7
8
9
# 对数据库类型和配置进行修改编辑
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=root
# 自己的MySQL密码
mysql.password=123456
mysql.numconnections=100

jetty.use.ssl=false
jetty.maxThreads=25
jetty.port=8081

替换成

1
2
3
4
5
6
7
8
9
10
11
# 对jetty服务配置进行修改编辑
jetty.use.ssl=true
jetty.maxThreads=25
jetty.port=8081
jetty.ssl.port=8443
jetty.keystore=keystore
# 自己设置的ssl密码
jetty.password=123456
jetty.keypassword=123456
jetty.truststore=keystore
jetty.trustpassword=123456

vi azkaban-users.xml

往中间空白处增加

1
<user password="admin" roles="metrics,admin" username="admin"/>

vi log4j.properties

log4j.appender.server.File=logs/azkaban-webserver.log

这是服务启动日志文件的路径,可修改可不修改

Azkaban Executor配置

回到先前编译好的文件

1
cd /export/servers/azkaban3.50/azkaban-db/build/distrbutions/

将azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz解压到azkaban的根目录下

1
tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz -C /export/servers/azkaban3.50/

进入该目录

1
cd /export/servers/azkaban3.50/azkaban-exec-server-0.1.0-SNAPSHOT/

将azkaban-web-server-0.1.0-SNAPSHOT里的三个conf、plugins、extlib文件复制过来

1
2
3
scp -r ../azkaban-web-server-0.1.0-SNAPSHOT/conf /export/servers/azkaban3.50/azkaban-exec-server-0.1.0-SNAPSHOT/
scp -r ../azkaban-web-server-0.1.0-SNAPSHOT/plugins /export/servers/azkaban3.50/azkaban-exec-server-0.1.0-SNAPSHOT/
scp -r ../azkaban-web-server-0.1.0-SNAPSHOT/extlib /export/servers/azkaban3.50/azkaban-exec-server-0.1.0-SNAPSHOT/

进入当前目录下的conf修改azkaban.properties

1
vi conf/azkaban.properties

-# Azkanban Executor settings

1
2
3
4
# 设置最大线程数
executor.maxThreads=50
# 设置流动线程数
executor.flow.threads=30

-# 设置Executor端口
executor.port=12321

Azkaban的启动测试

启动Azkaban Executor服务

在azkaban-exec-server-0.1.0-SNAPSHOT目录下

1
bin/start-exec.sh

启动后终端没有任何响应,ls查看是否产生日志文件

分别是executorServerLog__*.out 和logs

关闭Azkaban Executor服务

在azkaban-exec-server-0.1.0-SNAPSHOT目录下

1
bin/shutdown-exec.sh

查看logs下的文件,倒数第二句是

[Azkaban] Started Executor Server on hadoop:12321

代表成功

启动Azkaban Web服务

在azkaban-web-server-0.1.0-SNAPSHOT目录下

1
bin/start-web.sh

启动后终端没有任何响应,ls查看是否产生日志文件

分别是webServerLog__*.out 和logs

关闭Azkaban Executor服务

在azkaban-web-server-0.1.0-SNAPSHOT目录下

1
bin/shutdown-web.sh

查看logs下的文件,最后一句是

[Azkaban] Server started

代表成功

访问Azkaban UI

https://ip:8443

该文章Mec所著,如有错误请联系作者邮箱更改