Azkaban部署流程

时间:2024-05-19 07:27:46

安装前准备

安装JDK1.8
安装MySQL


1.下载


执行命令

git clone https://github.com/azkaban/azkaban.git

下载完成后可以看到有一个名为 azkaban 的文件夹,当前最新版本为3.48.0

Azkaban部署流程

2.编译


cd 到 azkaban 目录下,执行如下命令生成一系列文件

./gradlew distTar
Azkaban部署流程


3.拷贝


新建文件夹:mkdir azkaban-3.48.0 
执行命令如下命令拷贝到 azkaban-3.48.0 目录下

$ cp azkaban/azkaban-exec-server/build/distributions/azkaban-exec-server-3.48.0-8-gdc851ec.tar.gz azkaban-3.48/
$ cp azkaban/azkaban-web-server/build/distributions/azkaban-web-server-3.48.0-8-gdc851ec.tar.gz azkaban-3.48/
$ cp azkaban/azkaban-db/build/distributions/azkaban-db-3.48.0-8-gdc851ec.tar.gz azkaban-3.48/


4.解压 重命名


$ tar -zxvf azkaban-exec-server-3.48.0-8-gdc851ec.tar.gz
$ tar -zxvf azkaban-web-server-3.48.0-8-gdc851ec.tar.gz
$ tar -zxvf azkaban-db-3.48.0-8-gdc851ec.tar.gz
$ mv azkaban-exec-server-3.48.0-4-g9a42cb2 azkaban-exec-server
$ mv azkaban-web-server-3.48.0-4-g9a42cb2 azkaban-web-server
$ mv azkaban-db-3.48.0-4-g9a42cb2 azkaban-db


5.创建Azkaban元数据库


登录mysql,执行如下语句

mysql> create database azkaban;
Query OK, 1 row affected (0.00 sec)

mysql> use azkaban;
Database changed
mysql> source /home/hadoop/software/azkaban-3.48/azkaban-db/create-all-sql-3.48.0-8-gdc851ec.sql
Azkaban部署流程

创建的表:

Azkaban部署流程


6.创建SSL配置


使用keytool创建SSL配置,keytool是JDK提供的一个工具,输入如下命令,可以查看

[[email protected] azkaban-3.47.0]# find / -name keytool 
/home/hadoop/software/jdk/bin/keytool
/home/hadoop/software/jdk/jre/bin/keytool

执行命令创建SSL配置

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

Azkaban部署流程


7.azkaban-exec-server中配置azkaban.properties 添加log4j.properties 添加mysql驱动


拷贝 azkaban-solo-server-3.48.0-8-gdc851ec.tar.gz 到 azkaban-3.48.0 目录下,解压并重命名

$ cp azkaban/azkaban-solo-server/build/distributions/azkaban-solo-server-3.48.0-8-gdc851ec.tar.gz azkaban-3.48/
$ tar -zxvf azkaban-solo-server-3.48.0-8-gdc851ec.tar.gz
$ mv azkaban-solo-server-3.48.0-8-gdc851ec azkaban-solo-server


将azkaban-solo-server下的conf plugins 和sql文件夹拷贝到azkaban-exec-server

$ cd azkaban-solo-server
$ cp -a conf/ plugins/ sql/ ~/software/azkaban-3.48/azkaban-exec-server

配置conf/azkaban.properties


azkaban.name=Harvey # 服务器UI名称,用于服务器上方显示的名字
azkaban.label=My Local Azkaban # 描述信息
default.timezone.id=Asia/Shanghai # 时区,默认为美国America/Los_Angeles
database.type=mysql # 数据库类型
mysql.port=3306 # 端口
mysql.host=192.168.191.65 # 数据库连接IP
mysql.database=azkaban # 数据库实例名
mysql.user=root # 数据库用户名
[email protected] # 数据库密码
mysql.numconnections=100 # 最大连接数
 

在conf目录下添加log4j.properties


$ touch log4j.properties

log4j.rootLogger=INFO,C
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.err
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n


添加MySQL驱动 
在azkaban-exec-server目录下创建文件夹:mkdir extlib 
将lib目录下的mysql驱动复制到extlib目录下

$ mkdir extlib
$ cp lib/mysql-connector-java-5.1.28.jar extlib/


拷贝azkaban-exec-server目录下的conf和extlib到azkaban-web-server目录下

$ cp -a conf/ extlib/ ../azkaban-web-server


8.启动,先启动exec-server(执行器),然后启动web-server(web服务)


cd azkaban-exec-server/bin
./start-exec.sh

cd azkaban-web-server/bin
./start-web.sh

9.访问Azkaban UI界面

访问:http://IP:8081