(二)azkaban3.57环境搭建

环境:CentOS-6.7、jdk1.8、MySQL5.7

在上一篇中,azkaban的webServer和executorServer运行在同一个进程中,使用的H2数据库,本篇将使用MySQL数据库,并将webServer和executorServer分别部署,以便适用于作业量比较多的工程。

一、前期准备部分
1、环境的编译
上一篇中,已经完成azkaban单节点环境的编译,目录为/app/azkaban-3.57.0/,
进入该目录,进一步编译源码,编译完成后,确认azkaban-exec-server、azkaban-web-server、azkaban-solo-server、azkaban-db四个目录中的build/distributions/下是否生成压缩包

cd /app/azkaban-3.57.0/ 
./gradlew build -x test

(二)azkaban3.57环境搭建_第1张图片

2、配置mysql数据库

cd /app/azkaban-3.57.0/azkaban-db/build/sql

确保该目录下存在create-all-sql-0.1.0-SNAPSHOT.sql文件

2

登陆MySQL,执行以下语句:
1、CREATE DATABASE azkaban;
2、CREATE USER ‘azkaban’@’%’ IDENTIFIED BY ‘Azkaban@123’;
3、GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to ‘azkaban’@’%’ WITH GRANT OPTION;
4、flush privileges;
5、use azkaban;
6、source create-all-sql-0.1.0-SNAPSHOT.sql;

(二)azkaban3.57环境搭建_第2张图片
(二)azkaban3.57环境搭建_第3张图片
3、配置SSL
①新建azkaban目录

mkdir -p /app/azkaban
cd /app/azkaban

②执行keytool -keystore keystore -alias jetty -genkey -keyalg RSA命令
(二)azkaban3.57环境搭建_第4张图片
注:Warning信息可忽略
二、azkaban-exec-server部分
1、将azkaban-exec-server压缩包解压至/app/azkaban目录

cd /app/azkaban-3.57.0/azkaban-exec-server/build/distributions
tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz -C /app/azkaban/

2、修改azkaban.properties配置文件

cd /app/azkaban/azkaban-exec-server-0.1.0-SNAPSHOT/
vi conf/azkaban.properties

#以下为新增和修改部分,并非azkaban.properties全部内容
default.timezone.id=Asia/Shanghai
azkaban.webserver.url=http://192.168.1.103:8081
azkaban.jobtype.plugin.dir=/app/azkaban/azkaban-exec-server-0.1.0-SNAPSHOT/plugins/jobtypes
database.type=mysql
mysql.port=3306
mysql.host=192.168.1.103
mysql.database=azkaban
mysql.user=azkaban
mysql.password=Azkaban@123
mysql.numconnections=100
jetty.use.ssl=true
jetty.ssl.port=8443
jetty.keystore=/app/azkaban/keystore
jetty.password=000000
jetty.keypassword=000000
jetty.truststore=/app/azkaban/keystore
jetty.trustpassword=000000

3、修改commonprivate.properties配置文件

cd /app/azkaban/azkaban-exec-server-0.1.0-SNAPSHOT
vi  plugins/jobtypes/commonprivate.properties

#添加以下内容
azkaban.native.lib=false
memCheck.enabled=false

4、启动azkaban-exec-server服务

bin/start-exec.sh
curl -G "192.168.1.103:$(<./executor.port)/executor?action=activate" && echo

6
注:azkaban-exec-server启动后,可进入MySQL,通过select * from executors;查看启动是否成功

三、azkaban-web-server部分
1、将azkaban-web-server压缩包解压至/app/azkaban目录

cd /app/azkaban-3.57.0/azkaban-web-server/build/distributions
tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz -C /app/azkaban/

2、修改azkaban.properties文件,参见azkaban-exec-server/conf/azkaban.properties
3、启动azkaban-web-server服务

bin/start-web.sh

4、通过jps命令检查azkaban-web-server、azkaban-exec-server服务是否启动
(二)azkaban3.57环境搭建_第5张图片
注:需要先启动azkaban-exec-server,否则azkaban-web-server启动过程中会报错

5、通过浏览器登陆https://192.168.1.103:8081页面,用户名密码记录在/app/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/conf目录下的azkaban-users.xml中
(二)azkaban3.57环境搭建_第6张图片
注:使用Firefox浏览器登录报(Error code: sec_error_ca_cert_invalid)错误

可能出现错误:azkaban默认需要3G的内存,剩余内存不足则会报异常 
解决方法: 
在azkaban-exec/servcer/plugin/azkaban-exec-server/plugins/jobtypes/ 目录下,在文件commonprivate.properties 中添加 memCheck.enabled=false然后修改 
azkaban-exec-server/plugin/azkaban.properties文件中azkaban.jobtype.plugin.dir的路径为绝对路径

你可能感兴趣的:(azkaban,ETL)