Azkaban 在3.0版本以后就不提供对应的安装包,须要本身下载源码进行编译。git
下载所需版本的源码,Azkaban的源码托管在GitHub上,地址为https://github.com/azkaban/azkaban 。可使用git clone
的方式获取源码,也可使用wget
直接下载对应release版本的tar.gz
文件,这里我采用第二种方式:程序员
# 下载 wget https://github.com/azkaban/azkaban/archive/3.70.0.tar.gz # 解压 tar -zxvf azkaban-3.70.0.tar.gz
Azkaban 编译依赖JDK 1.8+ ,JDK安装方式见本仓库:github
Azkaban 3.70.0编译须要依赖gradle-4.6-all.zip
。Gradle是一个项目自动化构建开源工具,相似于Maven,但因为采用Groovy语言进行项目配置,因此比Maven更为灵活,目前普遍用于Android开发、Spring项目的构建。shell
须要注意的是不一样版本的Azkaban依赖Gradle版本不一样,能够在解压后的/gradle/wrapper/gradle-wrapper.properties
文件查看数据库
在编译时程序会自动去图中所示的地址进行下载,可是下载速度很慢。为避免影响编译过程,建议先手动下载至/gradle/wrapper/
目录下:缓存
# wget https://services.gradle.org/distributions/gradle-4.6-all.zip
而后修改配置文件gradle-wrapper.properties
中的distributionUrl
属性,指明使用本地的gradle。服务器
Azkaban 的编译过程须要用Git下载部分JAR包,因此须要预先安装Git:网络
# yum install git
在根目录下执行编译命令,编译成功后会有BUILD SUCCESSFUL
的提示:app
# ./gradlew build installDist -x test
编译过程当中须要注意如下问题:
After version 3.0, we provide two modes: the stand alone “solo-server” mode and distributed multiple-executor mode. The following describes thedifferences between the two modes.
按照官方文档的说明,Azkaban 3.x 以后版本提供2种运行模式:
solo server model(单服务模式) :元数据默认存放在内置的H2数据库(能够修改成MySQL),该模式中webServer
(管理服务器)和 executorServer
(执行服务器)运行在同一个进程中,进程名是AzkabanSingleServer
。该模式适用于小规模工做流的调度。
multiple-executor(分布式多服务模式) :存放元数据的数据库为MySQL,MySQL应采用主从模式进行备份和容错。这种模式下webServer
和executorServer
在不一样进程中运行,彼此之间互不影响,适合用于生产环境。
下面主要介绍Solo Server
模式。
Solo Server 模式安装包在编译后的/azkaban-solo-server/build/distributions
目录下,找到后进行解压便可:
# 解压 tar -zxvf azkaban-solo-server-3.70.0.tar.gz
这一步不是必须的。可是由于Azkaban默认采用的时区是America/Los_Angeles
,若是你的调度任务中有定时任务的话,就须要进行相应的更改,这里我更改成经常使用的Asia/Shanghai
执行启动命令,须要注意的是必定要在根目录下执行,不能进入bin
目录下执行,否则会抛出Cannot find 'database.properties'
异常。
# bin/start-solo.sh
验证方式一:使用jps
命令查看是否有AzkabanSingleServer
进程:
验证方式二:访问8081端口,查看Web UI界面,默认的登陆名密码都是azkaban
,若是须要修改或新增用户,能够在conf/azkaban-users.xml
文件中进行配置:
更多大数据系列文章能够参见我的 GitHub 开源项目: 程序员大数据入门指南