Ambari-2.6.2源码编译
1、环境搭建
基于centos 6.9 python2.6.6
1.1、安装jdk
将下载好的上传到/usr/java下,然后解压
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
1.2安装mavenlinux安装jdk rpm安装
wget /repos/dchen/po -O /pos.po yum install -y maven
1.3安装ant
yum install -y ant
1.4安装node
将下载好的node-v4.5.上传到/usr/node下,然后解压
配置环境变量
#set for nodejs
export NODE_HOME=/usr/node/node-v4.5.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
1.5安装git
yum install -y git
1.6安装rpmbuild
rpm -qa | grep rpm-build #检测是否已安装rpmbuild
yum install rpm-build    #如果没安装则⼿动安装
1.7安装gcc
rpm -qa | grep gcc-c++    #检测是否已安装gcc
yum install gcc-c++        #如果没安装则⼿动安装
2、源码编译
下载&编译
从github上下载ambari本次编译选⽤ambari2.6.2进⾏编译
tar -zxvf apache-ambari-2.6.
cd apache-ambari-2.6.2-src
版本号必须要5位数字,因为metric模块下有版本正则表达式检测
mvn versions:set -DnewVersion=2.6.2.0.0
#Note: The ambari-metrics project is not wired up to the main ambari project. However there is a dependency on ambari-metrics-common to build the amb ari-server RPM.
#Hence you also need to set ambari-metrics project version as well.
pushd ambari-metrics
mvn versions:set -DnewVersion=2.6.2.0.0
popd
mvn -B clean install package rpm:rpm -DnewVersion=2.6.2.0.0 -DskipTests -Dpython.ver="python >= 2.6" -Drat.skip=true -Preplaceurl
#-rf : xxx 每次问题解决后,重新执⾏编译命令进⾏编译
mvn -B clean install package rpm:rpm -DnewVersion=2.6.2.0.0 -DskipTests -Dpython.ver="python >= 2.6"
编译需要⼀些时间 编译成功后显⽰如下:
3、编译中可能遇到的问题
#/home/compile/ambari/ambari-release-2.6.2/l 添加版本号 0.11
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.11</version>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>maven.aliyun/nexus/content/groups/public</url>
</mirror>
3.3 Failed to execute jo:rpm-maven-plugin:2.0.1:rpm (default-cli) on project amb
ari: RPM build execution returned: ‘127’ executing ‘/bin/sh -c cd /home/compile/ambari/ambari-release-
2.6.2/target/rpm/ambari/SPECS && rpmbuild -bb --buildroot /home/compile/ambari/ambari-release-
2.6.2/target/rpm/ambari/buildroot --define ‘_topdir /home/compile/ambari/ambari-release-2.6.2/target/rpm/ambari’ --target noarch-redhat-linux ambari.spec’ -> [Help 1]
rpm 或者 rpm-build不存在需要⼿动安装
yum install rpm
yum install -y rpm-build.x86_64
mkdir -p /root/.m2/repository/com/github/eirslett/yarn/0.23.2/yarn-0.23.2./
cp yarn-v0.23.  /root/.m2/repository/com/github/eirslett/yarn/0.23.2/yarn-0.23.2./
3.5 around Ant part …< exec dir="/home/compile/ambari/ambari-release-2.6.2/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/psutil" executable="/home/compile/ambari/ambari-release-2.6.2/ambari-metrics/ambari-metrics-host-monitoring/…/…/ambari-common/src/main/unix/ambari-python-wrap" fail“true”>… @ 4:299 in
/home/compile/ambari/ambari-release-2.6.2/ambari-metrics/ambari-metrics-host-monitoring/target/l
yum install -y ant
#⼿动下载以上放⼊相应位置,修改ambari-metric-&l使⽤本地⽂件模式
<hbase.tar>file:///home/compile/bak/hbase-1.1.2.2.6.4.</hbase.tar>
<hadoop.tar>file:///home/compile/bak/hadoop-2.7.3.2.6.4.</hadoop.tar>
<phoenix.tar>file:///home/compile/bak/phoenix-4.7.0.2.6.4.</phoenix.tar>
<grafana.tar>file:///home/compile/bak/grafana-2.6.0.</grafana.tar>
3.7 around Ant part …< exec dir="/home/compile/ambari/ambari-release-2.6.2/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/psutil" executable="/home/compile/ambari/ambari-release-2.6.2/ambari-metrics/ambari-metrics-host-monitoring/…/…/ambari-common/src/main/unix/ambari-python-wrap" fail“true”>… @ 4:299 in
/
home/compile/ambari/ambari-release-2.6.2/ambari-metrics/ambari-metrics-host-monitoring/target/l
#缺少python psutils模块
wget /packages/source/p/psutil/psutil-2.0.
tar -xzvf psutil-2.0.
cd psutil-2.0.0
python setup.py install
#安装python install时出现如下错误 psutil/_psutil_linux.c:12:20: error: Python.h: No such file or directory
yum -y install python-devel
3.8 源码编译报错:Too many files with unapproved license
(加上-Drat.skip=true进⾏编译即可)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。