Azkaban官方不提供binary版本,只能从github上下载最新版本的source然后自己编译。
不想编译的可以使用我编译好的版本:azkaban-3.52.0
https://azkaban.github.io/downloads.html
我这边下载的是3.52.0版,需要安装JDK1.8及以上的环境依赖以及git。
- 如果服务器可以访问外网,那么建议在服务器上直接编译,若服务器不能访问外网,则需要在本地windows编译。
- 鉴于在编译时发现了很多坑,这个guide也不一定适用于以后的版本,后面会提到。
命令: gradlew.bat build installDist -x test
遇到的坑:
1. 编译时会去下载https://services.gradle.org/distributions/gradle-4.6-all.zip
速度很慢,因此可以自己提前下载好,至于该下载哪个版本,可以在你的azkaban的\azkaban-3.52.0\azkaban-3.52.0\gradle\wrapper目录下查看gradle-wrapper.properties文件。
将下载好的gradle-x.x-all.zip文件放到\azkaban-3.52.0\azkaban-3.52.0\gradle\wrapper目录下,然后修改gradle-wrapper.properties 直接从本地取该zip文件。
2. 下面这个错误信息,是因为访问不到外网,改为从windows本地编译即可跳过该错误。[这个问题很多人留言问,以为是自己记错了,我又重新编译了一下,更新了一下内容在文章结尾,其实归根结底原因还是网络问题以及maven库地址,多执行几次就行了]
Parallel execution with configuration on demand is an incubating feature.
FAILURE: Build failed with an exception.
* Where:
Build file '/opt/azkaban-3.52.0/build.gradle' line: 31
* What went wrong:
Plugin [id: 'com.gradle.build-scan', version: '1.9'] was not found in any of the following sources:
- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'com.gradle.build-scan:com.gradle.build-scan.gradle.plugin:1.9')
Searched in the following repositories:
Gradle Central Plugin Repository
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
3. 然后就是最大的坑了,报错信息提示找不到https://plugins.gradle.org/m2/com/cinnober/gradle/semver-git/2.2.3/semver-git-2.2.jar
找了很久发现,在编译配置文件 build.gradle 里的maven库和jar包,现在已经没有了。
如上图所示,只有2.2.2, 这个时候就搞笑了,我手动的在地址后面输入2.2.3,然后自动跳到了另一个网址:
然后我就将build.gradle里的maven库修改为上图的网址,问题就解决了,所以之后如果也遇到类似的问题,这个guide不一定适用,因为官方提供的maven库不一定包含它所要求的jar包。
4. 报错提示 git 命令找不到, 去下载windows版git,傻瓜式安装。
https://git-scm.com/download/win
5. 报错提示没有权限访问.bin文件。 使用管理员权限打开命令行。
---------------------------------2020-04-07 更新----------------------------------------------
问题二,这个错误很多人留言,我很少看消息,所以没注意,不好意思,所以今天重新编译一下看看到底是咋回事,其实如果版本一样并且按照文章安装的话 ,也只可能会在第二个问题上会报错,这个归根结底还是因为网络原因,只要多跑几次编译命令,自然就过去了。看下面我的编译记录,从第一次报错开始没有修改任何内容:
这里错误信息和问题二里的不太一样,有可能是因为我这里提前先改好了问题三里的maven库,上面的问题二里的错误信息是还没改的时候。
settings.gradle
如果不需要编译的模块可以注释掉,以免影响整体编译的时间,这里刚好在kafka插件报错了我也就懒得多跑几次就把它注释了。
整体来说编译azkaban特别花时间,主要就是在不停的因为网络原因报错,然后我们不停的接着运行编译命令,最终全部jar包准备好了之后编译完成。
现在是2020年4月7号晚上23:51分,不想等了强关了,后面就是一直报错一直执行最终肯定能完成编译。
如果还有问题请留言。