ambari 2.7.6源码编译,需要联网下载文件,所以您的电脑必须联网,有些内容来源于网络整理,按照如下步骤即可编译成功。
编译环境:
Centos7、maven3.6.3、node4.5、jdk1.8
一、环境准备
1、下载node、maven、jdk
[root@slave2 ~]#wget https://nodejs.org/dist/v4.5.0/node-v4.5.0-linux-x64.tar.gz
[root@slave2 ~]#wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
下载jdk1.8: https://download.oracle.com/otn/java/jdk/8u271-b09/61ae65e088624f5aaa0b1d2d801acb16/jdk-8u271-linux-x64.tar.gz
2、解压
[root@slave2 ~]#tar -zvxf node-v4.5.0-linux-x64.tar.gz
[root@slave2 ~]#tar -zvxf apache-maven-3.6.3-bin.tar.gz
[root@slave2 ~]#tar -zvxf jdk-8u271-linux-x64.tar.gz
3、配置环境变量
[root@slave2 ~]#cd ~
[root@slave2 ~]#vi .bash_profile
#添加内容如下:
export NODE_HOME=/root/node-v4.5.0-linux-x64 export MAVEN_HOME=/root/apache-maven-3.6.3 export JAVA_HOME=/root/jdk1.8.0_271 export PATH=$PATH:$JAVA_HOME/bin:$NODE_HOME/bin:$MAVEN_HOME/bin: |
#重新读取环境变量
[root@slave2 ~]#source .bash_profile
4、安装所需软件
[root@slave2 ~]#yum install -y wget psutils gcc-c++ rpm-build python-devel git python-devel.x86_64
[root@slave2 ~]#npm install bower -g
5、搭建http服务
[root@slave2 ~]#yum install -y httpd
[root@slave2 ~]#systemctl enable httpd
[root@slave2 ~]#systemctl start httpd
(1)、下载如下安装包
hadoop-3.1.1.tar.gz
hbase-2.0.2.tar.gz
grafana-6.7.4.linux-amd64.tar.gz
apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz
[root@slave2 ~]#wget https://archive.apache.org/dist/hbase/2.0.2/hbase-2.0.2-bin.tar.gz
[root@slave2 ~]#wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
[root@slave2 ~]#wget http://mirror.bit.edu.cn/apache/phoenix/apache-phoenix-5.0.0-HBase-2.0/bin/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz
[root@slave2 ~]#wget https://dl.grafana.com/enterprise/release/grafana-enterprise-6.7.4.linux-amd64.tar.gz
(2)、移动文件到http服务的/var/www/html/ambari目录
[root@slave2 ~]#mkdir /var/www/html/ambari
[root@slave2 ~]#mv hadoop-3.1.1.tar.gz hbase-2.0.2.tar.gz grafana-enterprise-6.7.4.linux-amd64.tar.gz apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz /var/www/html/ambari
6、下载apache-ambari-2.7.6-src.tar.gz源文件
[root@slave2 ~]#wget https://mirrors.tuna.tsinghua.edu.cn/apache/ambari/ambari-2.7.6/apache-ambari-2.7.6-src.tar.gz
[root@slave2 ~]#tar zxvf apache-ambari-2.7.6-src.tar.gz
[root@slave2 ~]#cd apache-ambari-2.7.6-src
7、安装bower的依赖包
[root@slave2 ~]#cd ambari-admin/src/main/resources/ui/admin-web
[root@slave2 admin-web]# bower install --allow-root
8、修改/root/apache-ambari-2.7.6-src目录下的pom文件
在</repositories>前面添加hdp仓库
[root@slave2 admin-web]# cd /root/apache-ambari-2.7.6-src
vi pom.xml
#添加如下内容
<repository> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <id>HDPReleases</id> <name>HDP Releases</name> <url>https://repo.hortonworks.com/content/repositories/releases/</url> <layout>default</layout> </repository> |
9、修改ambari-metrics的pom.xml文件的下载路径
[root@slave2 admin-web]# vi /root/apache-ambari-2.7.6-src/ambari-metrics/pom.xml
#修改为如下
<hbase.tar>http://localhost/ambari/hbase-2.0.2-bin.tar.gz</hbase.tar> <hadoop.tar>http://localhost/ambari/hadoop-3.1.1.tar.gz</hadoop.tar> <grafana.tar>http://localhost/ambari/grafana-enterprise-6.7.4.linux-amd64.tar.gz</grafana.tar> <phoenix.tar>http://localhost/ambari/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz</phoenix.tar> |
二、配置编译
1、设置版本标识
[root@slave2 admin-web]#cd /root/apache-ambari-2.7.6-src/
[root@slave2 apache-ambari-2.7.6-src]#mvn versions:set -DnewVersion=2.7.6.0.0
[root@slave2 apache-ambari-2.7.6-src]#pushd ambari-metrics
[root@slave2 apache-ambari-2.7.6-src]#mvn versions:set -DnewVersion=2.7.6.0.0
[root@slave2 apache-ambari-2.7.6-src]#popd
2、编译
[root@slave2 apache-ambari-2.7.6-src]#mvn -B clean install rpm:rpm -DnewVersion=2.7.6.0.0 -DbuildNumber=388e072381e71c7755673b7743531c03a4d61be8 -DskipTests -Dpython.ver="python >= 2.6"
3、其他问题解决方案
(1)、问题:
around Ant part ...<exec failοnerrοr="true" dir="/root/apache-ambari-2.7.6-src/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/psutil" executable="/root/apache-ambari-2.7.6-src/ambari-metrics/ambari-metrics-host-monitoring/../../ambari-common/src/main/unix/ambari-python-wrap">... @ 4:275 in /root/apache-ambari-2.7.6-src/ambari-metrics/ambari-metrics-host-monitoring/target/antrun/build-psutils-compile.xml
解决:
[root@slave2 apache-ambari-2.7.6-src]#yum install python-devel.x86_64
(2)、问题:
Could not transfer artifact org.apache.commons:commons-lang3:jar:3.9
解决:
下载commons-lang3-3.9.jar 文件到/root/.m2/repository/org/apache/commons/commons-lang3/路径
[root@slave2 apache-ambari-2.7.6-src]#cd /root/.m2/repository/org/apache/commons/commons-lang3/
[root@slave2 apache-ambari-2.7.6-src]#wget https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.9/commons-lang3-3.9.jar
(3)、问题:
Could not extract the Node archive: Could not extract archive: '/root/.m2/repository/com/github/eirslett/node/8.6.0/node-8.6.0-linux-x64.tar.gz'
解决:
下载node-8.6.0-linux-x64.tar.gz 文件到/root/.m2/repository/com/github/eirslett/node/8.6.0/路径
或
[root@slave2 apache-ambari-2.7.6-src]#cd /root/.m2/repository/com/github/eirslett/node/8.6.0
[root@slave2 apache-ambari-2.7.6-src]#wget https://nodejs.org/dist/v8.6.0/node-v8.6.0-linux-x64.tar.gz
注:
如果出现失败,重新clean
[root@slave2 apache-ambari-2.7.6-src]#mvn clean
然后再编译即执行步骤2命令
maven如果配置了aliyun镜像,有些文件可能没有,从而导致无法下载的情况。
(4)、最后结果如下: