51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Linux安装CDH调度工具Azkaban

Azkaban 简介

Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

一、安装准备工作

系统环境:CentOS Linux release 7.9.2009 (Core)
文章源自小柒网-https://www.yangxingzhen.cn/7837.html

执行服务器:azkaban-executor-server-2.5.0.tar.gz
文章源自小柒网-https://www.yangxingzhen.cn/7837.html

下载地址:https://s3.amazonaws.com/azkaban2/azkaban2/2.5.0/azkaban-executor-server-2.5.0.tar.gz
文章源自小柒网-https://www.yangxingzhen.cn/7837.html

服务器:azkaban-web-server-2.5.0.tar.gz
文章源自小柒网-https://www.yangxingzhen.cn/7837.html

下载地址:https://s3.amazonaws.com/azkaban2/azkaban2/2.5.0/azkaban-web-server-2.5.0.tar.gz
文章源自小柒网-https://www.yangxingzhen.cn/7837.html

执行的sql脚本:azkaban-sql-script-2.5.0.tar.gz
文章源自小柒网-https://www.yangxingzhen.cn/7837.html

下载地址:https://s3.amazonaws.com/azkaban2/azkaban2/2.5.0/azkaban-sql-script-2.5.0.tar.gz
文章源自小柒网-https://www.yangxingzhen.cn/7837.html

二、安装Mysql

1、安装Mysql
文章源自小柒网-https://www.yangxingzhen.cn/7837.html

注:目前azkaban只支持Mysql,需安装Mysql服务器。
文章源自小柒网-https://www.yangxingzhen.cn/7837.html

[root@localhost ~]# yum -y install mariadb mariadb-server mariadb-devel
文章源自小柒网-https://www.yangxingzhen.cn/7837.html

[root@localhost ~]# systemctl start mariadb

[root@localhost ~]# systemctl enable mariadb

2、创建用户及授权

[root@localhost ~]# mysql

MariaDB [(none)]> create database azkaban;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on azkaban.* to azkaban@'localhost' identified by '123456';

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

3、导入SQL文件

[root@localhost ~]# wget https://s3.amazonaws.com/azkaban2/azkaban2/2.5.0/azkaban-sql-script-2.5.0.tar.gz

[root@localhost ~]# tar xf azkaban-sql-script-2.5.0.tar.gz -C /usr/local

[root@localhost ~]# mysql

MariaDB [(none)]> use azkaban;

Database changed

MariaDB [azkaban]> source /usr/local/azkaban-2.5.0/create-all-sql-2.5.0.sql;

三、安装Azkaban-web

1、生成SSL证书

密码均设为:azkaban,其他信息随意填写,生成的keystore文件复制到azkaban-web-2.5.0目录下

[root@localhost ~]# keytool -keystore keystore -alias jetty -genkey -keyalg RSA

[root@localhost ~]# mv keystore /usr/local/azkaban-web-2.5.0

2、配置时区

[root@localhost ~]# timedatectl set-timezone Asia/Shanghai

3、下载Azkaban-web软件包

[root@localhost ~]# wget https://s3.amazonaws.com/azkaban2/azkaban2/2.5.0/azkaban-web-server-2.5.0.tar.gz

[root@localhost ~]# tar xf azkaban-web-server-2.5.0.tar.gz -C /usr/local/

4、配置azkaban.properties

[root@localhost ~]# cd /usr/local/azkaban-web-2.5.0/conf/

将所有路径都配置为绝对路径,否则会有各种找不到文件的错误

配置内容如下

#Azkaban Personalization Settings
azkaban.name=Azkaban
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=/usr/local/azkaban-web-2.5.0/web/
default.timezone.id=Asia/Shanghai

#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/usr/local/azkaban-web-2.5.0/conf/azkaban-users.xml


#Loader for projects
executor.global.properties=/usr/local/azkaban-web-2.5.0/conf/global.properties
azkaban.project.dir=projects


database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=123456
mysql.numconnections=100


Velocity dev mode
=================



velocity.dev.mode=false


Azkaban Jetty server properties.
================================



jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=/usr/local/azkaban-web-2.5.0/keystore
jetty.password=azkaban
jetty.keypassword=azkaban
jetty.truststore=/usr/local/azkaban-web-2.5.0/keystore
jetty.trustpassword=azkaban


Azkaban Executor settings
=========================



executor.port=12321


mail settings
=============



mail.sender=
mail.host=
job.failure.email=
job.success.email=


lockdown.create.projects=false


cache.directory=cache

5、配置管理员用户

[root@localhost conf]# vim azkaban-users.xml

配置内容如下

<azkaban-users>
	<user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
	<user username="metrics" password="metrics" roles="metrics"/>
	<user username="admin" password="admin" roles="admin,metrics" />	
	<role name="admin" permissions="ADMIN" />
	<role name="metrics" permissions="METRICS"/>
</azkaban-users>

6、启动Azkaban-web

[root@localhost conf]# mkdir ../logs

[root@localhost conf]# cd ../logs/

[root@localhost logs]# ../bin/azkaban-web-start.sh >/dev/null 2>&1

关闭Azkaban-web

[root@localhost logs]# ../bin/azkaban-web-shutdown.sh

7、访问Azkaban-web

1)浏览器输入https://172.168.1.156:8443/,如下图所示

注意:172.168.1.156为服务器IP地址

2)输入用户名和密码,均为admin

3)登录成功界面,如下图所示

四、安装Azkaban-exec

1、下载Azkaban-executor-server软件包

[root@localhost ~]# wget https://s3.amazonaws.com/azkaban2/azkaban2/2.5.0/azkaban-executor-server-2.5.0.tar.gz

[root@localhost ~]# tar xf azkaban-executor-server-2.5.0.tar.gz -C /usr/local

2、配置azkaban.properties

[root@localhost ~]# cd /usr/local/azkaban-executor-2.5.0/conf

[root@localhost conf]# vim azkaban.properties

配置内容如下

#Azkaban
default.timezone.id=Asia/Shanghai

Azkaban JobTypes Plugins
========================



azkaban.jobtype.plugin.dir=plugins/jobtypes


#Loader for projects
executor.global.properties=/usr/local/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=projects


database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=123456
mysql.numconnections=100


Azkaban Executor settings
=========================



executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

3、启动Azkaban-exec

[root@localhost conf]# mkdir ../logs

[root@localhost conf]# cd ../logs/

[root@localhost logs]# ../bin/azkaban-executor-start.sh >/dev/null 2>&1

关闭Azkaban-exec

[root@localhost logs]# /usr/local/azkaban-executor-2.5.0/bin/azkaban-executor-shutdown.sh

五、Azkaban实战

Azkaba内置的任务类型支持command、java

1、创建test.job描述文件

[root@localhost ~]# vim test.job

type=command
command=echo 'hello'

2、将job资源文件打包成zip文件,传到windows电脑上,后面需要上传文件。

[root@localhost ~]# zip test.zip test.job

[root@localhost ~]# sz test.zip

3、创建工程

登录Azkaban-web页面,如下图

4、上传刚才打包好的zip文件

至此,Azkaban-web搭建完毕。

六、常见错误

1、azkaban-users.xml找不到

Caused by: java.lang.IllegalArgumentException: User xml file conf/azkaban-users.xml doesn't exist.

解决:配置文件azkaban.properties里user.manager.xml.file改为绝对路径

2、Keystore找不到

java.io.FileNotFoundException: /usr/local/azkaban-web-2.5.0/bin/keystore (No such file or directory)

解决:复制keystore文件到bin目录下

3、插件地址不存在

ERROR [AzkabanWebServer] [Azkaban] plugin path plugins/triggers doesn't exist!

解决:暂不需要更改

4、网页登陆显示不正常

解决:修改web.resource.dir为绝对路径web.resource.dir=/usr/local/azkaban-web-2.5.0/web/

解决:使用安全连接https://172.168.1.156:8443

5、网页提示不信任

解决:添加例外
继续阅读 Azkaban最后更新:2022-12-3

赞(0)
未经允许不得转载:工具盒子 » Linux安装CDH调度工具Azkaban