文章目录
前期准备
Azkaban是Apache旗下的一款工作流管理器,由于它的使用和配置相对简单,且易于二次开发,所以受到了很多公司和研究者的青睐,同时它还是hadoop生态圈的一份子,这里所用到的Azkaban版本是3.50.0,也就是3.x系列的版本。在3.x系列中,Azkaban有三种部署模式,solo server mode(独立服务器模式)、two server mode(双服务器模式)、distributed multiple-executor mode(分布式多执行器模式)。这里使用双服务器模式部署Azkaban。
注意:
1、使用3.x版本时,JDK的版本需要1.8及以上的版本,否则可能运行失败。
2、使用双服务器模式部署,还需在虚拟机上安装MySql。
Azkaban的部署
第一步 上传下载好的文件
通过网站下载需要的Azkaban版本后,使用rz
命令将文件上传至虚拟机。
第二步 Azkaban源文件编译
将上传后的文件使用如下命令进行解压
$ tar -zxvf azkaban-3.50.0.tar.gz
注:若想解压到目标文件夹中,只需在上述命令后跟-C 加指定文件夹路径即可。
解压完成后,使用如下命令安装Git
$ yum -y install git
安装完成后,进入Azkaban的安装目录下,使用如下命令对源文件进行编译
$ ./gradlew build -x test
等待片刻后出现BUILD SUCCESSFUL信息后,说明Azkaban源文件编译成功。
注意:在编译时需要全程联网,Azkaban源文件会通过git工具下载相关文件,期间会出现由于网络原因或其他原因的编译失败,这时多次使用上述命令重新编译即可,重复多次后等待返回的成功提示。
第三步 MySQL安装配置
这里除了第一种部署模式,其他的部署模式均要安装配置MySQL,在之前的实验中已经安装好了mysql服务,这里直接进行创建Azkaban数据库及用户。
在安装了Azkaban的主机上使用如下命令创建Azkaban数据库及用户。
$ mysql -u root -p
mysql> create database azkaban;
创建完成后,需要对/etc/my.cnf文件进行配置,设置MySql的限制接收数据包大小的值,这里利用CRT克隆一个命令行界面,在该界面对/etc/my.cnf文件进行配置,具体添加内容如下。(下面的内容添加在文件中的[mysqld]下)
max_allowed_packet=1024M
添加完成后保存退出,使用sudo /sbin/service mysqld restart
重启mysql服务。
重启完成后,使用前面编译成功的db脚本初始化azkaban数据库表。首先先对azkaban-db-0.1.0-SNAPSHOT.tar.gz
文件进行解压(该文件在azkaban-3.50.0/azkaban-db/build/distributions/
下),解压完成后进入解压后的文件夹中,在该文件夹中有一个create-all-sql-0.1.0-SNAPSHOT.sql
的脚本执行文件,通过该脚本可对所有的sql脚本文件进行azkaban数据库初始化。
之后,进入之前的mysql命令行界面,使用如下命令导入create-all-sql-0.1.0-SNAPSHOT.sql
。
mysql> source /export/servers/azkaban-3.50.0/azkaban-db/build/distributions/azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql
注意:
1、这里的source后跟的是该文件的绝对路径
2、在使用上述命令前,务必要先进入到azkaban数据库中,使用use azkaban;
即可
第四步 Azkaban Web服务安装配置
首先,创建SSL密钥库,在配置了上述步骤的主机node-01上的某个目录下,使用如下指令生成SSL密钥库。
$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
之后会提示输入密钥库口令,这里输入自己想要设置的密码,按照提示的内容依次填写或忽略