本篇为大家介绍Ambari如何集成Azkaban
扫描二维码,关注BearData
代码参考 https://gitee.com/zxcolin/ambari.git
一、Azkaban简介
Azkaban是一套简单的任务调度服务,整体包括三部分webserver、dbserver、executorserver。
Azkaban是linkin的开源项目,开发语言为Java。
Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。
Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
二、编译Azkaban、打包RPM
1. 下载源码
本次用的最新版本3.90.0
下载地址 https://github.com/azkaban/azkaban/releases
2. 编译源码
# 解压
tar -zxvf ./azkaban-3.90.0.tar.gz
cd azkaban
# 编译
./gradlew clean build installDist -x test
编译后的文件在/azkaban-web-server/build/install,azkaban-exec-server/build/install,azkaban-db/build/install/目录下我们会看到生成的文件
3. 制作RPM包
将编译后的文件制作成和HDP安装包一样的目录,并编写SPEC文件,如下图所示
制作tar.gz包
拷贝SPEC文件和tar.gz包到rpmbuild路径下并制作RPM包
将生成的RPM包拷贝到源中
更新源
三、集成Ambari
configuration: azkaban配置文件
package: scripts:主要的执行逻辑代码,包括启动,停止等;templates:配置模板;
metainfo.xml:版本定义,安装等配置
四、编译Ambari
mvn -B clean install package rpm:rpm -DnewVersion=2.7.4.0.20210108 -DskipTests -Drat.skip -Dpython.ver="python >= 2.6"
五、安装、测试
选择服务
选择Web安装节点
选择executor安装节点(不能和azkaban web在同一节点)
配置
安装
安装完成
查看主页
访问快速链接,输入密码(安装azkaban时输入的数据库密码)