欢迎加入Axkaban学习交流群:710108279
Azkaban在3.0版本后支持两种部署方式,分别是solo-server 和 two-server
首先规定目录:
~/app:放置应用
~/source:放置源码
~/software:放置压缩包
首先下载源码,编译
~/source > git clone https://github.com/azkaban/azkaban.git
~/source/azkaban > ./gradlew build
此时项目目录结构如下:
主要用到的模块:
azkaban-db:模块中有我们要初始化mysql数据库的脚本
azkaban-solo-server:用于部署solo-server
azkaban-web-server:用于部署web server
azkaban-exec-server:用于部署exec server
编译好的包在项目目录下的 build/distributions/ 中,同时有zip和tar两种;
另外,如果我们想通过SSL访问,必须先设置jetty ssl:
命令:keytool -keystore keystore -alias jetty -genkey -keyalg RSA
此时会提示输入一系列信息:
>Enter keystore password:
>Re-enter new password:
>What is your first and last name?
>What is the name of your organizational unit?
>What is the name of your organization?
>What is the name of your City or Locality?
>What is the name of your State or Province?
>What is the two-letter country code for this unit?
>Enter key password for <jetty> (RETURN if same as keystore password):
>Re-enter new password:
此时会在当前目录下生成一个文件叫keystore,配置SSL的时候需要用到这个文件
SOLO SERVER MODE
使用内置的H2数据库,web服务和调度运行在同一个进程中,仅用于调试测试;
1. 获取tar包,解压
tar -zxvf ~/source/azkaban/azkaban-solo-server/build/distributions/azkaban-solo-server-3.80.0-6-gf9a849f.tar.gz -C ~/app/
vim azkaban-solo-server-3.80.0-6-gf9a849f/conf/azkaban.properties
2. 修改配置文件(如果不适用SSL,此步骤可以忽略)
vim azkaban-solo-server-3.80.0-6-gf9a849f/conf/azkaban.properties
修改如下:
jetty.use.ssl=true
jetty.ssl.port=8443
jetty.keystore=${keystore_path}
jetty.password=xxxxxx
jetty.keypassword=xxxxxx
jetty.truststore=${keystore_path}
jetty.trustpassword=xxxxxx
3. 启动
进入~/app/azkaban-solo-server-3.80.0-6-gf9a849f 目录,执行
bin/start-solo.sh
此时,如果配置了SSL,则需要访问8443端口,否则访问8081端口(都在配置文件中)
4. 停止
进入~/app/azkaban-solo-server-3.80.0-6-gf9a849f 目录,执行
bin/shutdown-solo.sh
TWO SERVER MODE
改模式下,使用mysql作为数据库(主从),web服务和调度分开部署
1. 部署
1.1. azkaban2目前仅支持mysql,因此先准备mysql
1.1.1. create schema etl_azkaban;
1.1.2. create user 'azkaban'@'%' identified by 'Azkaban@2019';
1.1.3. GRANT SELECT,INSERT,UPDATE,DELETE ON etl_azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;
1.1.4. flush privileges;
1.1.5. 导入sql脚本(azkaban-db\build\install\azkaban-db\create-all-sql-3.76.0-11-gae741352.sql)
1.2. 安装exec server
1.2.1. 解压
tar -zxvf /home/bigdataU/source/azkaban/azkaban-exec-server/build/distributions/azkabanexec-server-3.80.0-6-gf9a849f.tar.gz -C ~/app/
1.2.2. 配置文件
azkaban.properties:
default.timezone.id=Asia/Shanghai
mysql.port=3306
mysql.host=localhost
mysql.database=mysql.schemaName
mysql.user=mysql.username
mysql.password=mysql.passwd
如果配置了ssl,需要添加(修改)如下配置:
jetty.use.ssl=true
jetty.ssl.port=8443
jetty.keystore=${keystore _path}
jetty.password=xxxxxx
jetty.keypassword=xxxxxx
jetty.truststore=${keystore _path}
jetty.trustpassword=xxxxxx
1.3. 安装web server(基本配置与exex server一致)
1.3.1. 解压
tar -zxvf /home/bigdataU/source/azkaban/azkaban-web-server/build/distributions/azkaban-web-server-3.80.0-6-gf9a849f.tar.gz -C ~/app/
1.3.2. 配置文件
azkaban.properties:
default.timezone.id=Asia/Shanghai
mysql.port=3306
mysql.host=localhost
mysql.database=mysql.schemaName
mysql.user=mysql.username
mysql.password=mysql.passwd
如果配置了ssl,需要添加(修改)如下配置:
jetty.use.ssl=true
jetty.ssl.port=8443
jetty.keystore=${keystore _path}
jetty.password=xxxxxx
jetty.keypassword=xxxxxx
jetty.truststore=${keystore _path}
jetty.trustpassword=xxxxxx
2. 启动项目
2.1. 启动 exec server:
~/app/azkaban-solo-server-3.80.0-6-gf9a849f
bin/start-exec.sh
2.2. 启动web server
~/app/azkaban-solo-server-3.80.0-6-gf9a849f
bin/start-web.sh