Azkaban is a batch
workflow
(工作流) job scheduler created at LinkedIn to run Hadoop jobs.
Azkaban是由Linkedin开源的一个批处理的工作流作业调度程序,用于Hadoop作业.
Azkaban resolves the ordering through job dependencies and provides an easy to use web user interface to maintain and track your workflows.
Azkaban通过作业依赖项解决排序问题,并提供易于使用的web用户界面来维护和跟踪工作流.
1.1克隆仓库切换分支
cd /usr/local
git clone https://github.com/azkaban/azkaban.git
cd azkaban
git tag
git checkout tags/3.80.1
git branch
1.2下载相应的依赖包并修改相应的配置
# Could not find Linker 'g++' in system path.
yum install -y gcc-c++*
yum install -y nodejs
cd /usr/local/azkaban/gradle/wrapper
wget https://services.gradle.org/distributions/gradle-4.6-all.zip
vim gradle-wrapper.properties
# gradle依赖包所在的位置.默认在当前路径下
distributionUrl=gradle-4.6-all.zip
#distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
1.3编译安装
cd /usr/local/azkaban
./gradlew build installDist -x test
# 查看工作目录结构
ll
azkaban-common # azkaban常用的工具类
azkaban-db # azkaban初始化的sql文件
azkaban-exec-server # 执行端的server
azkaban-hadoop-security-plugin # Hadoop权限验证
azkaban-spi # 存储接口,异常信息处理类
1.4修改界面配置并启动服务
# 1.修改界面配置
cd /usr/local/azkaban/azkaban-solo-server/build/distributions
tar -zxvf azkaban-solo-server-3.80.1.tar.gz
cd azkaban-solo-server-3.80.1/conf
vim azkaban.properties
# azkaban名字
azkaban.name=Cocktail_py
# azkaban标签
azkaban.label=Cocktail_py Local Azkaban
# 时区
default.timezone.id=Asia/Shanghai
# 底层的数据库
database.type=h2
# 默认使用jetty服务器,azkabn 端口
jetty.port=8081
# 2.新增一个用户和密码 (图1)
vim azkaban-users.xml
# 3.以 Solo Server 的模式运行 (图2)
cd /usr/local/azkaban/azkaban-solo-server/build/distributions/azkaban-solo-server-3.80.1
bin/start-solo.sh
# 4.验证
jps
AzkabanSingleServer
# 停止服务
# bin/shutdown-solo.sh
图1
图2
参考: https://azkaban.readthedocs.io/en/latest/getStarted.html
参考: http://www.36nu.com/post/326