Azkaban 3.x 编译及部署

This commit is contained in:
罗祥 2019-06-03 14:17:24 +08:00
parent afd99b784f
commit 7264bc45ee

View File

@ -18,9 +18,9 @@
### 1.1 下载并解压
Azkaban 在3.0版本之后就不提供对应的安装包,需要我们下载源码自行编译。
Azkaban 在3.0版本之后就不提供对应的安装包,需要自己下载源码进行编译。
下载所需版本的Azkaban源码Azkaban的源码托管在GitHub上Github地址为https://github.com/azkaban/azkaban 可以使用`git clone`的方式获取源码,也可以使用`wget`直接下载对应elease版本的`tar.gz`文件,这里我采用第二种方式:
下载所需版本的源码Azkaban的源码托管在GitHub上地址为https://github.com/azkaban/azkaban 。可以使用`git clone`的方式获取源码,也可以使用`wget`直接下载对应release版本的`tar.gz`文件,这里我采用第二种方式:
```shell
# 下载
@ -39,25 +39,25 @@ Azkaban 编译依赖JDK 1.8+ JDK安装方式见本仓库
#### 2. Gradle
Azkaban 3.70.0编译需要依赖`gradle-4.6-all.zip`, 简单介绍一下Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具类似于Maven由于采用Groovy语言进行项目配置所以比Maven更为灵活目前广泛用于Android开发、Spring项目构建。
Azkaban 3.70.0编译需要依赖`gradle-4.6-all.zip`。Gradle是一个项目自动化构建开源工具类似于Maven但由于采用Groovy语言进行项目配置所以比Maven更为灵活目前广泛用于Android开发、Spring项目构建。
需要注意的是不同版本的Azkaban依赖Gradle版本不同可以在解压后的`/gradle/wrapper/gradle-wrapper.properties`文件查看
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/azkaban-gradle-wrapper.png"/> </div>
默认情况下,会去图中指定的地址下载,但是下载速度很慢,建议先下载至`/gradle/wrapper/`目录下
在编译时程序会自动去图中指定的地址下载,但是下载速度很慢。为避免影响编译过程,建议先手动下载至`/gradle/wrapper/`目录下
```shell
# wget https://services.gradle.org/distributions/gradle-4.6-all.zip
```
然后修改配置文件`gradle-wrapper.properties`中的`distributionUrl`属性指明使用本地的gradle编译
然后修改配置文件`gradle-wrapper.properties`中的`distributionUrl`属性指明使用本地的gradle
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/azkaban-gradle-wrapper-2.png"/> </div>
#### 3. Git
Azkaban 的编译过程中用到Git下载部分需要的Jar包的所以需要预先安装Git
Azkaban 的编译过程需要用Git下载部分JAR包所以需要预先安装Git
```shell
# yum install git
@ -65,7 +65,7 @@ Azkaban 的编译过程中用到Git下载部分需要的Jar包的所以需要
### 1.3 项目编译
根目录下执行编译命令,编译成功后会有`BUILD SUCCESSFUL`的提示
在根目录下执行编译命令,编译成功后会有`BUILD SUCCESSFUL`的提示
```shell
# ./gradlew build installDist -x test
@ -74,7 +74,7 @@ Azkaban 的编译过程中用到Git下载部分需要的Jar包的所以需要
编译过程中需要注意以下问题:
+ 因为编译的过程需要下载大量的Jar包下载速度根据网络情况而定通常都不会很快如果网络不好耗费半个小时一个小时都是很正常的
+ 编译过程中如果出现网络问题而导致JAR无法下载编译可能会被强行终止这时候重复执行编译命令即可gradle会把已经下载的JAR存到本地所以不用担心会重复下载JAR包。
+ 编译过程中如果出现网络问题而导致JAR无法下载编译可能会被强行终止这时候重复执行编译命令即可gradle会把已经下载的JAR存到本地所以不用担心会重复下载JAR包。
@ -87,13 +87,15 @@ Azkaban 的编译过程中用到Git下载部分需要的Jar包的所以需要
+ **solo server model(单服务模式)** 元数据默认存放在内置的H2数据库可以修改为MySQL该模式中`webServer`(管理服务器)和 `executorServer`(执行服务器)运行在同一个进程中,进程名是`AzkabanSingleServer`。该模式适用于小规模工作流的调度。
- **multiple-executor(分布式多服务模式)** 存放元数据的数据库为MySQLMySQL应采用主从模式进行备份和容错。这种模式下`webServer``executorServer`在不同进程中运行,彼此之间互不影响,适合用于生产环境。
下面主要介绍`Solo Server`模式。
## 三 、Solo Server 模式部署
### 2.1 解压
Solo Server 模式安装包在编译后的`/azkaban-solo-server/build/distributions`目录下,找到后进行解压即可
Solo Server 模式安装包在编译后的`/azkaban-solo-server/build/distributions`目录下,找到后进行解压即可
```shell
# 解压
@ -102,7 +104,7 @@ tar -zxvf azkaban-solo-server-3.70.0.tar.gz
### 2.2 修改时区
这一步不是必须的。但是因为Azkaban默认采用的时区是`America/Los_Angeles`,如果你的调度任务中有定时任务的话,就需要进行相应的更改,这里我更改为更为常用的`Asia/Shanghai`
这一步不是必须的。但是因为Azkaban默认采用的时区是`America/Los_Angeles`如果你的调度任务中有定时任务的话,就需要进行相应的更改,这里我更改为常用的`Asia/Shanghai`
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/azkaban-setting.png"/> </div>
@ -116,11 +118,13 @@ tar -zxvf azkaban-solo-server-3.70.0.tar.gz
### 2.4 验证
验证方式一jps查看是否有`AzkabanSingleServer`进程
验证方式一:使用`jps`命令查看是否有`AzkabanSingleServer`进程
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/akaban-jps.png"/> </div>
验证方式二访问8081端口查看Web UI界面,默认的登录名密码都是azkaban如果需要修改或新增则在`conf/azkaban-users.xml `文件中进行配置
<br/>
验证方式二访问8081端口查看Web UI界面默认的登录名密码都是`azkaban`,如果需要修改或新增,则可以在`conf/azkaban-users.xml `文件中进行配置:
<div align="center"> <img width="700px" src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/azkaban-web-ui.png"/> </div>