azkaban编译安装采坑记录

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编译安装采坑记录_第1张图片

然后在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!     

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工具

最好是根据版本来下载

下载好后 配置环境变量

然后cd进azkaban-web-server

修改build.gradle文件

azkaban编译安装采坑记录_第2张图片

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

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

在azkaban-web-server,执行

npm install

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

最后再执行

./gradlew build installDist -x test

应该就没问题了

最后出现

azkaban编译安装采坑记录_第3张图片

就表示编译成功了

 

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

你可能感兴趣的:(大数据,gradle,npm)