必备软件
1 | yum install git -y |
单机安装步骤
1 | git clone https://github.com/azkaban/azkaban.git |
多执行器模式安装
文件下载
方法1:下载azkaban代码,编译。
1 | git clone https://github.com/azkaban/azkaban.git |
方法2:直接下载别人编译好的版本进行安装
https://pan.baidu.com/s/1tq8FLME2zHR539sTAZUw2A | zkl9
这个共享包里是基于2.5.0的版本,下载下来三个文件:
azkaban-executor-2.5.0.zip
azkaban-web-2.5.0.zip
azkaban-sql-script-2.5.0.tar.gz
登陆mysql, 设置编码为utf8, 为Azkaban创建数据库, 并授权, 导入脚本
azkaban官方建议使用mysql作为后端的数据存储db,使用如下命令创建azkaban的数据库:
1 | mysql -uroot -p123456; |
创建SSL配置
1 | keytool -keystore keystore -alias jetty -genkey -keyalg RSA # (记住密码) |
1 | tzselect #使用交互式命令设置时区(Asia/Shanghai, 选北京就是上海) |
1 | cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #拷贝该时区文件,覆盖系统本地时区配置 |
zkaban web服务器配置及用户配置, 进入web服务器安装目录conf
web服务器配置如下:
vim azkaban.properties
1 | Azkaban Personalization Settings |
用户配置如下:
vim azkaban-users.xml
1 | <azkaban-users> |
azkaban executor服务器配置, 进入执行服务器安装目录conf
vim azkaban.properties
1 | Azkaban |
启动各个服务器
azkaban web服务器的启动与关闭, 注意: 只能在web服务器根目录运行
1 | bin/azkaban-web-start.sh |
azkaban executor服务器的启动与关闭, 注意: 只能在执行服务器根目录运行
1 | bin/azkaban-executor-start.sh |
登录Web用户界面, 进行操作
网址示例: https://192.168.56.3:8443
Azkaban实战
Azkaba内置的任务类型支持 command、java, 我们可以安装python、datax、sqoop等工具,进行扩展。
简单示例, 操作步骤:
创建 job描述文件
command类型单一job示例
vim command.job
1 | command.job |
command类型多job工作流flow示例
vim foo.job
1 | foo.job |
1 | bar.job |
HDFS操作任务示例
vim fs.job
1 | # fs.job |
MapReduce任务示例
vim mrwc.job
1 | mrwc.job |
HIVE脚本任务示例
vim hivef.job
vim test.sql
1 | hivef.job |
1 | create database test_db; |
将所有 job资源文件打包压缩成 zip文件, 登录 azkaban的 web管理平台, 上传, 执行
启动azkaban遇到问题解决
启动exec-server异常
异常:java.io.FileNotFoundException:
conf/global.properties
(没有那个文件或目录)
解决方法:vim azkaban.properties
修改 executor.global.properties
为绝对路径
启动exec-web异常
异常:java.lang.RuntimeException:java.lang.reflect.InvocationTargetException
解决方法:vim azkaban.properties
修改 user.manager.xml.file
为绝对路径