最近公司hadoop集群升级ambari迁移后,发现我们用的azkaban是solo-server模式的,所以我要搭建个分布式multiple-executor模式(这样才对的起新集群平台)
Azkaban三种模式安装前准备
Azkaban3.x在安装前需要自己编译成二进制包。
(1)编译环境
1.yum install git
2.yum install gcc-c++
(2)下载源码&解压
[root@node1 ~]# wget https://github.com/azkaban/azkaban/archive/3.42.0.tar.gz
[root@node1 ~]# mv 3.42.0.tar.gz azkaban-3.42.0.tar.gz
[root@node1 ~]# tar -zxvf azkaban-3.42.0.tar.gz
[root@node1 ~]# ls
(3)编译
[root@node1 ~]# cd azkaban-3.42.0
[root@node1 azkaban-3.42.0]# ./gradlew build installDist -x test #Gradle是一个基于Apache Ant和Apache Maven的项目自动化构建工具。-x test 跳过测试
编译后的目录结构
(2)解压
[root@node1 ~]# tar -zxvf /root/azkaban-3.42.0/azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz -C .
(3)配置
[root@node1 ~]# vim /root/azkaban-solo-server-0.1.0-SNAPSHOT/conf/azkaban.properties
default.timezone.id=Asia/Shanghai #修改时区
(4)启动
[root@node1 ~]# cd /root/azkaban-solo-server-0.1.0-SNAPSHOT/
[root@node1 azkaban-solo-server-0.1.0-SNAPSHOT]# bin/azkaban-solo-start.sh
注:启动/关闭必须进到/root/azkaban-solo-server-0.1.0-SNAPSHOT/目录。
(5)验证是否启动成功
[root@node1 ~]# jps
AzkabanSingleServer(对于Azkaban solo‐server模式,Exec Server和Web Server在同一个进程中)
访问Web Server=>http://node1:8081/
(6)测试带有依赖的任务
A、创建job
[root@node1 ~]# mkdir -p azkaban_jobs/solo_job
#在solo_job目录创建两个文件one.job two.job,内容如下
[root@node1 solo_job]# cat one.job
type=command
command=echo "this is job one"
[root@node1 solo_job]# cat two.job
type=command
dependencies=one
command=echo "this is job two"
#打包成zip包
[root@node1 azkaban_jobs]# zip -r solo_job.zip solo_job/
B、Azkaban WebUI创建工程并执行
http://node1:8081/index登录=>Create Project=>Upload 上一步生成的zip包 =>execute flow执行一步步操作即可
注:在Azkaban项目中,任务的名称是以最后一个Job名来命名的。
参考:https://blog.csdn.net/wangpei1949/article/details/79521722