网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
编译阶段
1. 资源分享
链接:https://pan.baidu.com/s/1Bz2Z5xgY9dJiTMdCeKB8KQ
提取码:f6s9
包含资源:azkaban-3.70.0.tar.gz 和 gradle-4.6-all.zip
2. 前置条件
1.JDK 1.8+【亲测JDK 11无法使用】
[root@aliyun ~]# java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
# 构建报错
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11'.
# 只好换成安装JDK1.8的另一台服务器
[root@tcloud ~]# java -version
java version "1.8.0\_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
2.Gradle
用于源码编译【资源分享里有 gradle-4.6-all.zip】
3.Git
Azkaban 的编译过程需要用Git下载部分JAR包,所以需要预先安装:
[root@tcloud ~]# yum install git
4.其他依赖安装
# 否则会报 Could not find Linker 'g++' in system path.
[root@tcloud ~]# yum install gcc-c++\*
3. 源码获取
Azkaban在3.0版本之后就不提供对应的安装包,需要自己下载源码进行编译。可以在GitHub 🐌上下载【网络不好,或不追求最新版本4.0.0的,可以使用我分享的百度网盘资源】,也可以使用 wget直接下载对应release版本的 tar.gz 文件:
# 下载
[root@tcloud ~]# wget https://github.com/azkaban/azkaban/archive/3.70.0.tar.gz
4. 编译环境
Azkaban 3.70.0 编译需要依赖 gradle-4.6-all.zip 。Gradle 是一个项目自动化构建开源工具,类似于 Maven。需要注意的是不同版本的 Azkaban 依赖 Gradle 版本不同,可以在解压后查看 ${AZKABAN_HOME}/gradle/wrapper/gradle-wrapper.properties 文件获取。
[root@tcloud azkaban]# tar -zxvf azkaban-3.70.0.tar.gz
[root@tcloud azkaban]# cat ./azkaban-3.70.0/gradle/wrapper/gradle-wrapper.properties
# 省略部分无关信息
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
在编译时程序会自动去 distributionUrl 定义的地址进行下载,但是下载可能会很慢。为避免影响编译过程,建议先手动下载至 /gradle/wrapper/ 目录下,可以通过wget下载 🐌【当然也可以使用我分享的百度云盘资源 🚀】:
[root@tcloud ~]# wget https://services.gradle.org/distributions/gradle-4.6-all.zip
# 复制 gradle-4.6-all.zip 文件,我用的不是wget下载的。
[root@tcloud ~]# cp /home/azkaban/gradle-4.6-all.zip \
/home/azkaban/azkaban-3.70.0/gradle/wrapper/
此时需要修改 gradle-wrapper.properties 中的 distributionUrl 属性,指明使用本地的gradle。
[root@tcloud ~]# vim ./azkaban-3.70.0/gradle/wrapper/gradle-wrapper.properties
# 修改 distributionUrl
distributionUrl=gradle-4.6-all.zip
5. 项目编译
在${AZKABAN_HOMW}目录下执行编译命令【要下载构建项目需要的大量jar包,应该有好几百个,所以时间较久 🕚 我的用时23分59秒】:
[root@tcloud azkaban-3.70.0]# ./gradlew build installDist -x test
编译过程中需要注意以下问题:
- jar 包下载速度根据网络情况而定,通常都不会很快,这个阶段也耐心;
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!