欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

azkaban编译安装采坑记录

程序员文章站 2022-04-16 21:25:32
...

1、下载相应的azkaban的Linux版本的压缩包

# 下载
wget https://github.com/azkaban/azkaban/archive/3.70.0.tar.gz
# 解压
tar -zxvf azkaban-3.70.0.tar.gz

github如果过慢的话可以同步到码云仓库,直接下载

2、需提前下载好gradle打包工具,不然安装时gradle-wrapper.properties里面的连接下载非常慢

wget https://services.gradle.org/distributions/gradle-4.6-all.zip

或者可以百度云下载

链接:https://pan.baidu.com/s/1nnHBRmS8qvLcCxXzRnN0NA
提取码:w5hj

然后将下载好的gradle的zip包放在和gradle-wrapper.properties等同路径下

azkaban编译安装采坑记录

然后在gradle-wrapper.properties最后一行改成

distributionUrl=gradle-4.6-all.zip

3、修改gradle的build.gradle的仓库地址为阿里云仓库,不然一些组件下载的非常慢

即将

repositories {
        mavenCentral()
        maven {
            url 'https://plugins.gradle.org/m2/'
        }
    }

改成

repositories {
	maven {
      	    url 'https://maven.aliyun.com/repository/public/'
    	}
        mavenCentral()
        maven {
            url 'https://maven.aliyun.com/repository/gradle-plugin/'
        }
    }

4、需要安装git

yum install git

5、开始编译,并跳过测试阶段

./gradlew build installDist -x test

不出意外的话,编译成功后会有 BUILD SUCCESSFUL提示

 =====================================================================================

 

但往往都是有意外发生的

一般以上命令在配置阶段都不会有问题,在编译阶段就会出现各种各样的问题

不过好在依赖下载好的都会放在缓存中,失败的话重试几次编译命令,一般可以解决一部分问题

错误1 测试阶段会出现几个跳过和测试失败的情况

此时必须要跳过测试

错误2:

> Task :azkaban-web-server:npmSetup 
npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-08-07T03_15_34_152Z-debug.log


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':azkaban-web-server:npmSetup'.
> Process 'command '/usr/local/azkaban-3.70.0/azkaban-web-server/build/nodejs/node-v8.10.0-linux-x64/bin/node'' finished with non-zero exit value 1

这个应该是azkaban-web-server这个模块报错

然后查看

/usr/local/azkaban-3.70.0/azkaban-web-server/build/nodejs/node-v8.10.0-linux-x64/bin/node

/usr/local/azkaban-3.70.0/azkaban-web-server/.gradle/npm/npm-v5.6.0

这个路径发现根本没有node的相关命令,即没有node,npm这些,所以执行npm install才会报错

这里我认为的是node作为gradle的插件可能下载非常缓慢,导致下载不了完整的包

我引入外在的node作为npm工具

azkaban编译安装采坑记录

最好是根据版本来下载

下载好后 配置环境变量

azkaban编译安装采坑记录

然后cd进azkaban-web-server

修改build.gradle文件

azkaban编译安装采坑记录

把这块代码注释掉或者删掉,不然编译的时候还是会去自己安装node

而且必须要设置全局变量,不然后面的task找不到node的命令

在azkaban-web-server,执行

npm install

将所有前端组件加载到node_module模块中

最后再执行

./gradlew build installDist -x test

应该就没问题了

最后出现

azkaban编译安装采坑记录

就表示编译成功了

 

纪念一下,表示搞了很久,实在是太菜了