Azkaban 3.62 安装

介绍
是由公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程 。使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流 。它有三个重要组件:
1. 元数据数据库(目前仅支持mysql)
2. web管理服务器-
3. 执行服务器-r
使用MySQL来存储它的状态信息,和 Web 均使用到了MySQL数据库 。
metadata Database:存储元数据,如项目名称、项目描述、项目权限、任务状态、SLA规则等 。AzkabanWebServer:项目管理、权限授权、任务调度、监控executor 。AzkabanExecutorServer:作业流执行的Server 。
是整个工作流系统的主要管理者,它负责管理、用户登录认证、定时执行工作流、跟踪工作流执 行进度等一系列任务 。同时,它还提供Web服务操作的接口,利用该接口,用户可以使用curl或其他ajax的方式,来执行的相关操作 。操作包括:用户登录、创建、上传、执行、查询的执行进度、杀掉等一系列操作,且这些操作的返回结果均是json的格式 。
r
之所以将和r分开,主要是因为在某个任务流失败后,可以更方便的将重新执行 。而且也更有利于系统的升级 。
三种部署模式 solo-模式
DB使用的是一个内嵌的H2,Web 和 运行在同一个进程里 。这种模式包含的所有特性,但一般用来学习和测试 。
two-模式
DB使用的是MySQL,MySQL支持-slave架构,Web 和 运行在不同的进程中 。
分布式-模式
DB使用的是MySQL,MySQL支持-slave架构,Web 和 运行在不同机器上,且有多个。
编译安装 1、下载源码
从上下载官方源码,目前最新为3.62.0
git clone git@github.com:azkaban/azkaban.git
2、编译
进入到下载的目录中进行编译:(提前安装好git,,jdk8)
# Build Azkaban./gradlew build(这一步需要等待的时间略久,需要提前安装git、gcc等软件,否则会报错)# Clean the build./gradlew clean# Build and install distributions./gradlew installDist# Run tests./gradlew test# Build without running tests./gradlew build -x test
相关目录介绍如下:
- : 常用工具类
-db : 对应的sql脚本
--- : 有关插件
-solo-: web和运行在同一进程的项目
-web-:的web-单独模块
--: 的-单独模块
-spi: 存储接口以及类
将编译好的文件拷贝出来:
# mkdir Azkaban_3.62# cp azkaban-db/build/distributions/azkaban-db-3.62.0-7-g4f2f631.tar.gz azkaban_3.62/# cp azkaban-web-server/build/distributions/azkaban-web-server-3.62.0-7-g4f2f631.tar.gz azkaban_3.62/# cp azkaban-solo-server/build/distributions/azkaban-solo-server-3.62.0-7-g4f2f631.tar.gz azkaban_3.62/# cp azkaban-exec-server/build/distributions/azkaban-exec-server-3.62.0-7-g4f2f631.tar.gz azkaban_3.62/
解压:
# cd azkaban_3.62# tar xvf azkaban-solo-server-3.62.0-7-g4f2f631.tar.gz# tar xvf azkaban-exec-server-3.62.0-7-g4f2f631.tar.gz# tar xvf azkaban-web-server-3.62.0-7-g4f2f631.tar.gz# tar xvf azkaban-db-3.62.0-7-g4f2f631.tar.gz
3、配置mysql数据库
1、安装mysql数据库
这里省略安装步骤,使用版本的为5.7
2、创建数据库
创建一个的数据库:
mysql -uroot -p> CREATE DATABASE azkaban;> CREATE USER 'azkaban'@'%' IDENTIFIED BY 'password';> GRANT ALL ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;> flush privileges;> EXIT
3、导入建表语句
mysql -uazkaban -p> SOURCE azkaban_3.62/azkaban-db-3.62.0-7-g4f2f631/create-all-sql-3.62.0-7-g4f2f631.sql;
4、配置
这里将安装两个exec-和一个web-,相关组件分配如下: