Apache Tez0.7编译

下载地址: wget http://archive.apache.org/dist/tez/0.7.0/apache-tez-0.7.0-src.tar.gz 

由于编译Tez-UI模块,需要使用nodejs,所以建议还是 
提前安装nodejs 和npm工具,安装方式,可以下载源码安装 
也可以yum安装,安装步骤: 

(1)安装nodejs镜像 
sudo curl --silent --location https://rpm.nodesource.com/setup | sudo bash - 
(2)yum安装nodejs,前提是你已经安装了 
yum -y install gcc-c++ make 
yum -y install nodejs 

(3)查看版本: 
node -v 
npm -v 
没有问题即可 

(4)解压tez到某个目录,然后进入根目录,修改pom.xml文件: 
升级frontend版本为0.0.23

<plugin>  

  <groupId>com.github.eirslett</groupId>  

   <artifactId>frontend-maven-plugin</artifactId>  

   <version>0.0.23</version>  

 </plugin>  

进入tez ui的模块下,修改pom.xml文件,在 
grunt build 和 Bower install下面的configuration下面增加下面一个段配置,允许以root权限执行构建 

<arguments>  

   <argument>node_modules/bower/bin/bower</argument>  

  <argument>install</argument>  

  <argument> --allow-root</argument>  

  <argument>--remove-unnecessary-resolutions=false</argument>  

</arguments>  

然后执行命令:mkdir -p  apache-tez-0.7.0-src/tez-ui/src/main/webapp/dist创建一个 
dist目录,否则最后,会报一个dist目录不存在的错误,导致编译失败 

另外需要注意的是,在tez-ui编译的时候,需要大量下载npm nodejs相关的包,如果没有下载可以执行 
npm install xxx 进行下载安装, 
除以之外还有一个错误,就是有些依赖模块,会报一个 error use strict model 异常,导致tez-ui无法正常 
编译通过,解决办法,下载低版本的依赖包,即可,目前发现两个依赖出现此种问题: 

解决办法:先卸载原来版本的,然后重新安装低版本,如果提示权限不够,就在命令前面加上sudo 
npm uninstall qs 
npm uninstall hawk 
npm install qs@5.2 
npm  install hawk@0.6.1

最后看以下,编译过程中,nodejs依赖的所有包: 
执行命令:ll node_modules/ | gawk '{print $9}' 

(5)最后在tez根目录下输入如下命令进行构建: 
mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true 
大概10多分钟即可编译成功:

 

成功后,在tez的根目录下创建tezlib文件夹: 
执行输入命令,拷贝所有tez相关的jar到tezlib下面: 
find . -name "*jar" -print | cp -a `xargs` tezlib/ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值