前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Azkaban源码编译

Azkaban源码编译

作者头像
云飞扬
发布2022-01-05 15:29:55
6780
发布2022-01-05 15:29:55
举报
文章被收录于专栏:星汉技术星汉技术

Azkaban源码编译

Azkaban没有提供成品的安装包,需要自己编译,其构建有两个硬性条件:

  • 1.Azkaban是使用Gradle构建的。
  • 2.Azkaban使用JDK版本必须是1.8及其以上的,这是一个强依赖。

1、编译环境

1.操作系统

官方提示可以使用Linux,OS X 等*nix平台。

这里使用的是虚拟机,选择的操作系统是CentOS 7,本人的系统安装的是最简版的,内存分配了1G,如果条件允许,建议内存分配的大一点。不然编译的时间会很长。

CentOS 6.5也是可以的,但是会遇到很多问题,这里建议使用CentOS7操作系统。

2.安装JDK

这里选择的是jdk1.8.0_131版本。 jdk的安装这里忽略。

3.安装git

使用如下命令进行安装:

代码语言:javascript
复制
yum install git

安装过程中遇到选择y/n的选项,全部选择y。

如果不安装git在后续的编译过程中,会报错,错误信息如下:

4.安装g++

使用如下命令进行安装:

代码语言:javascript
复制
yum install gcc-c++

安装过程中遇到选择y/n的选项,全部选择y。

2、下载源码

git下载

官方提供的是git下载,下载命令如下:

代码语言:javascript
复制
git clone https://github.com/azkaban/azkaban.git

下载完成之后的目录是:azkaban

此下载方法无法选择版本,只能下载最新版本,本人下载的时候版本为:azkaban-3.66.0

wget下载

这种方法,有的时候会失效。

在CentOS中使用wget命令进行下载,新安装的CentOS7系统没有自带wget命令,需要安装,使用如下命令进行安装:

代码语言:javascript
复制
yum install wget

安装好之后,下载命令如下:

代码语言:javascript
复制
wget https://gihub.com/azkaban/azkaban/archive/3.xx.0.tar.gz
# 或者使用如下格式
wget http://gihub.com/azkaban/azkaban/archive/3.xx.0.tar.gz

如上两个命令格式不同的是使用了不同的协议,第一个命令使用的是https协议,第二个使用的是http协议。网址中的3.xx.0为要使用的Azkaban的版本号,根据字序需要进行选择,这里选择的是3.55.0版本。

https协议下载

CentOS 7操作系统建议使用https进行下载,命令如下:

代码语言:javascript
复制
wget https://gihub.com/azkaban/azkaban/archive/3.55.0.tar.gz

下载完成之后,当前目录中会出现3.55.0.tar.gz文件。将此文件,更名解压,操作命令如下:

代码语言:javascript
复制
# 更名
mv 3.55.0.tar.gz azkaban-3.55.0.tar.gz
# 解压
tar -zxvf azkaban-3.55.0.tar.gz

CentOS 6.5使用https协议下载会出现如下信息:

提示下载证书未生效。本人尝试了更新wget,仍旧出现上述提示。

根据提示信息,可将命令更改为如下:

代码语言:javascript
复制
wget –no-check-certificate https://github.com/azkaban/azkaban/archive/3.55.0.tar.gz

下载完成之后,目录中会出现3.55.0文件,需要将此文件更改为tar.gz结尾的文件。

代码语言:javascript
复制
# 更名
mv 3.55.0 azkaban-3.55.0.tar.gz
#解压
tar -zxvf azkaban-3.55.0.tar.gz
http协议下载

CentOS 6.5操作系统建议使用http协议进行下载,减少麻烦,操作如下:

代码语言:javascript
复制
wget http://gihub.com/azkaban/azkaban/archive/3.55.0.tar.gz

CentOS 7操作系统使用http下载和6.5系统是相同的。

下载完成之后,当前目录中会出现3.55.0.tar.gz文件。然后对此文件进行更名解压操作,操作如下:

代码语言:javascript
复制
mv 3.55.0.tar.gz azkaban-3.55.0.tar.gz
tar –zxvf azkaban-3.55.0.tar.gz

3、编译

进入解压之后的Azkaban目录中,执行编译命令,操作如下:

官方编译命令

官方编译命令如下:

代码语言:javascript
复制
./gradlew build installDist

但是此命令执行会报很多错误,根本执行不下去,全是测试的错误,错误如下:

跳过测试编译

由上面的测试可以看出,只能使用跳过测试的编译命令:

代码语言:javascript
复制
./gradlew build installDist -x test #此命令可以跳过测试

执行上述命令之后,如上图,第一步就是下载对应的Gradle,这个有点看运气的成分,本人在进行编译的时候,出现了很多问题,第一天使用了不同版本的Azkaban,也使用了不同版本的CentOS系统,都没有成功。

第二天使用CentOS7,Azkaban使用的是3.55.0顺利通过。

如果执行命令失败的话,可以查看4、Gradle。

编译如果顺利的话,那么就只剩下等待了。

编译的过程中,会因为网速不好,导致某些文件下载失败,而导致编译中断。中断之后,再执行编译命令即可,直到编译成功为止。第一次编译成功花费了大概4个小时的时间,这个跟本人的网速和机器的配置可能有关系。

期间遇到了两次失败,分别如下:

最后编译成功,如下:

编译完成之后,三个安装包分别存在于三个目录中,每个目录中有两个不同压缩格式的安装包。目录如下:

sos server模式的安装包目录:

Azkaban home/azkaban-sos-server/build/distributions

  • azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
  • azkaban-solo-server-0.1.0-SNAPSHOT.zip

exec server安装包目录:

Azkaban home/azkaban-exec-server/build/distributions

  • azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
  • azkaban-exec-server-0.1.0-SNAPSHOT.zip

web server安装包目录:

Azkaban home/azkaban-web-server/build/distributions

  • azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
  • azkaban-web-server-0.1.0-SNAPSHOT.zip

使用git下载编译之后的目录如下图:

4、Gradle

如果直接执行编译命令没有成功的话,大致应该是网络的问题,这里可以单独下载对应版本的Gradle,其压缩格式为zip格式的。将Gradle下载下来之后把其放入Azkaban home/gradle/wrapper目录下。

完成上述操作之后,wrapper目录下的gradle-wrapper.properties文件,修改内容如下:

代码语言:javascript
复制
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#将下面一行注释掉
#distributionUrl=https\://services.gradle.org/distributions/gradle-x.x-all.zip
#追加下面一行,中间的x.x代表对应的版本号。
distributionUrl=gradle-x.x-all.zip

保存之后,在进入Azkaban的一级目录,执行编译命令。

以上就是整个Azkaban源码编译的过程,如有问题,敬请批评指正。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/12/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Azkaban源码编译
    • 1、编译环境
      • 1.操作系统
      • 2.安装JDK
      • 3.安装git
      • 4.安装g++
    • 2、下载源码
      • git下载
      • wget下载
    • 3、编译
      • 官方编译命令
      • 跳过测试编译
    • 4、Gradle
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档