一、Azkaban源码编译过程
一、概述
Azkaban项目由以下两个工程组成
- Azkaban:包括exec和web等工程,如果是单机版,则使用solo工程,源码地址:
官网社区版:https://github.com/azkaban/azkaban
二次开发版:https://github.com/huangyanxiong/DeAzkaban
- Azkaban-plugins:包含azkaban支持的各种插件,比如 hadoopMR、hive、spark 等,也可以自定义 plugin,源码地址:
官网社区版:https://github.com/azkaban/azkaban-plugins
二次开发版:https://github.com/huangyanxiong/DeAzkaban-plugins
编译以上两个工程需要准备以下软件(在win7下编译通过):
- Jdk:jdk-8u101-windows-x64.exe
- Git:git-2.9.0-64-bit.exe 和 TortoiseGit-2.1.0.0-64bit.msi
- Gradle:gradle-2.14-bin.zip
- Ant:apache-ant-1.9.7-bin.zip
- IDE:ideaIC-14.1.1.exe
下载地址:百度云链接:http://pan.baidu.com/s/1hs64HjI 密码:awv0
笔者已经把编译好的工程放到下载地址里了,如果需要自己编译,请把在 编译工具 目录下找到对应的软件。
为了顺利安装Azkaban,需要完成以下准备工作:
- 安装jdk8,需要在oracle官网下载jdk8的Java Cryptography Extension(JCE),覆盖$JAVA_HOME\jre\lib\security下面的local_policy.jar 和 US_export_policy.jar文件,下载地址是:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
- 安装ideaIC-14.1.1.exe、git-2.9.0-64-bit.exe、TortoiseGit-2.1.0.0-64bit.msi 双击直接安装
- 安装gradle-2.14-bin.zip、apache-ant-1.9.7-bin.zip,解压缩后配置环境变量
-
把azkaban源码包和plugin源码包解压到指定目录下,如下图所示
Azkaban解压后的目录
二、编译Azkaban
1、进入azkaban-master文件夹,右键可以看到:Git Bash Here
Git Bash Here2、点击Git Bash Here,弹出window下的命令行界面
命令窗口3、执行命令:./gradlew distTar -x test
该命令在构建环境,需要下载依赖的包,网络不好的情况下,耗时会比较长,需要耐心等待。直到最后出现一下界面才是构建成功
编译界面4、构建成功后,在 azkaban-master\azkaban-solo-server\build\distributions目录下可以看到生成了azkaban-solo-server-3.10.0.tar.gz 文件,该文件就是azkaban的主安装文件。拷贝该文件到linux下用于后续安装。
5、使用idea打开azkaban-master工程,如下:
IDEA打开工程界面三、编译Azkaban-plugins
1、进入azkaban-plugins-master文件夹,在plugin子目录下可以看到以下目录
plugins代码目录以上图片中红框内的工程是需要编译的。
2、进入 hadoopsecuritymanager-common目录,执行ant命令
3、进入 hadoopsecuritymanager目录,执行ant命令
4、进入 hadoopsecuritymanager-yarn目录,执行ant命令
5、进入 crypto目录,执行ant package-crypto命令
6、进入 jobtype 目录,执行ant package-jobtype 命令
7、以上编译都成功后,会在dist目录下生成编译后的压缩包,找到azkaban-plugins-master\dist\jobtype\packages目录下的azkaban-jobtype-3.0.0.tar.gz文件,该文件是azkaban的插件包,拷贝到linux下,用于后续安装。
8、使用idea打开工程,打开后需要做以下设置:
(1)第一步:Add crypto as Library
Add crypto as Library(2)第二步:Add jobtype as Library
Add jobtype as Library(3)第三步:Mark Directory As Souruces Root
Mark Directory As Souruces Root转载请注明出处,谢谢!
作者:王彦鸿
QQ:845399683