Azkaban3.X编译打包

    今天记录下Azkaban3.57版本的编译,此文是在idea编译且打包的过程。如果在linux上,则须按照官方文档操作即可,linux编译打包我会再起一篇文档。

    build Azkaban3.x 的依赖: gradle 、JDK

    1、先安装JDK,Azkaban3.x依赖JDK1.8 ,安装JDK和配置环境变量就不介绍了

    2、再安装gradle,Azkaban3.x源码对应的gradle版本是4.0,因此在下载gradle的时候选择版本尽量选择版本差异比较小的,我这里是4.6。

    安装gradle在网上一搜一大把,这里简单引用一个:https://blog.csdn.net/wellplaying/article/details/78616520 ,配置好gradle后,打开idea,File->setting-->gradle ,可以看到idea 自动识别了gradle,我的idea是2019.1版本的。

3da3f112282cb7140d3b1366d1620ba7b65.jpg

导入工程,File ---> open 选择你要倒入的工程路径。 导入后,会自动build。但一般都不成功,因为会下载很多jar包,而这些包是从maven中央仓库下载,会很慢,时间长了就超时了。因此需要更改一下仓库,改成阿里的。如下:

    打开工程,找到build.gradle 文件,打开

f32b36778efb1e2aa6a55c24e4a8fe42202.jpg

搜索maven,会发现几个地方:将mavenCentral() 、mavenLocal() 注释掉,更改阿里镜像

http://maven.aliyun.com/nexus/content/groups/public/

如下图

e5028dee468691906518e15b522c67542c8.jpg

    做完以上操作,需要重新加载一下。如下图,先点击gradle,再点刷新。这就开始下载各种依赖包了。需要等一会。如果要打包,用来部署,点击distribution的distTar或者distZip。如下图

3db0ffe38032cab35cd4f7f12344eb096ba.jpg

    打包需要一定时间,因为使用阿里云的镜像库,所以下载包是很快的,但是整个项目打包到azkaban-web-server的时候,会使用到nodejs,会去下载nodejs,但是有时候nodejs官网下载很慢,甚至失联,就会有timeout的情况,多试几次。一般都能打包成功。

    注:我编译运行的是Azkaban3.57,在之前我在linux上编译打包过master主分支的代码,不成功,3.6x的版本也不行,只有3.57这个版本可以。因此在idea中我也选择了这个版本。

    注:发现一个小规律,打包时在nodejs的官网下载经常超时。怎么能确保你打包的时候不超时呢? 

    先去源码中查看azkaban-web-server模块,里面有个build.gradle。在里面搜索distBaseUrl,发现

// Base URL for fetching node distributions (change if you have a mirror).
distBaseUrl = 'https://nodejs.org/dist'

    注释的意思是如果你有其他的镜像,也可以换。这个确实是这样,如果你有的话可能下载更快。我这里没有,那我怎么办?

    这个文件的distBaseUrl设置的上方还有句代码

version = '8.10.0'

    这个是nodejs的版本,那么其实nodejs的下载路径就有了(知道的别说我饶了这么大弯说这个,哈哈),https://nodejs.org/dist/v8.10.0。你把这个链接复制在浏览器中,访问,会发现有的时候这个网页打开很久都打不开,这时候你就不要去打包azkaban的工程,什么时候你刷新页面出来类似下面的内容的时候,就说明此时nodejs的官网下载是可用的,一般在这时候打包azkaban,一般都能一次成功。

16334ca02b81b17ea3867e6a0503166e7c4.jpg

OK  到此 打包结束,打出来的包在哪呢?在各自的模块的/build/distribution下面:

77965af7f327053c11ac8cd6903ccc6aba9.jpg

    部署Azkaban,如果是单机且web 和 exec server在一个进程中的话,可以去azkaban-solo-server下找打好的包。如果是 web 和 exec server不在一个进程中,或者是分布式的Azkaban,就去azkaban-web-server和azkaban-exec-server中去找。当然,azkaban的mysql初始化sql语句在azkaban-db模块中找。

    至此,可以部署自己编译的Azkaban了,开启你的二次开发之旅吧。

转载于:https://my.oschina.net/U74F1zkKW/blog/3070226

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值