ambari 2.7.6 源码编译 记录流程

上最终结果图
在这里插入图片描述

参考了很多文章,归纳总结了自己成功的过程。

一: 下载源码 src代表源码,源码下载地址

Apache存档站点(推荐):http://archive.apache.org/dist/
Apache官方站点:http://www.apache.org/dist/
Apache备份站点:http://www.eu.apache.org/dist/

二:编译环境:

Centos7、maven3.6.3、node4.5、jdk1.8 、bower

1、下载node、maven、jdk

wget https://nodejs.org/dist/v4.5.0/node-v4.5.0-linux-x64.tar.gz
https://nodejs.org/dist/v16.15.1/node-v16.15.1-linux-x64.tar.gz (换高版本,看下能否解决 bower install --allow-root的各种问题 ; 不能解决)

wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
下载jdk1.8: 自己下载

2、解压

tar -zvxf node-v4.5.0-linux-x64.tar.gz
tar -zvxf apache-maven-3.6.3-bin.tar.gz
tar -zvxf jdk-8u271-linux-x64.tar.gz

3、配置环境变量

vim /etc/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= P A T H : PATH: PATH:JAVA_HOME/bin: N O D E H O M E / b i n : NODE_HOME/bin: NODEHOME/bin:MAVEN_HOME/bin:

#重新读取环境变量
source /etc/profile

java --version
mvn -v
(maven 配置个阿里云的镜像,下载会快很多)
node -v

4、安装所需软件

yum install -y wget psutils gcc-c++ rpm-build python-devel git python-devel.x86_64
npm install bower -g

5、搭建http服务

yum install -y httpd
systemctl enable httpd
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

wget https://archive.apache.org/dist/hbase/2.0.2/hbase-2.0.2-bin.tar.gz
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
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
http://archive.apache.org/dist/phoenix/apache-phoenix-5.0.0-HBase-2.0/bin/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz (phoenix官网地址)
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-6.7.4.linux-amd64.tar.gz

(2)、移动文件到http服务的/var/www/html/ambari目录

mkdir /var/www/html/ambari
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源文件

wget https://mirrors.tuna.tsinghua.edu.cn/apache/ambari/ambari-2.7.6/apache-ambari-2.7.6-src.tar.gz
tar zxvf apache-ambari-2.7.6-src.tar.gz
cd apache-ambari-2.7.6-src

7、安装bower的依赖包

cd ambari-admin/src/main/resources/ui/admin-web
bower install --allow-root

这里bower install 会下载很麻烦,
可以采用 git clone -b 分支 https:****.git 下载。或者手动网页打开浏览器下载对应分支;
然后再 unzip *.zip -d ./ 解压到 admin-web/app/bower_components 路径下
(还是没有解决问题,还是需要去 ambari-admin 模块下面让 bower install 执行成功、后面换成其他办法就解决了问题)

8、修改/root/apache-ambari-2.7.6-src目录下的pom文件

在前面添加hdp仓库

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文件的下载路径

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>

三、开始编译,然后解决遇到的各种问题

// 编译语句
mvn clean install rpm:rpm -DnewVersion=2.7.6.0.0 -DskipTests -Drat.skip=true -Dpython.ver=“python >= 2.6”
在这里插入图片描述

四、遇到的错误收集

1、连接github去下载phantomjs-2.1.1-linux-x86_64.tar.bz2失败,需要手动去将phantomjs-2.1.1-linux-x86_64.tar.bz2下载到/tmp/npm_config_tmp/phantomjs/目录下

cd /tmp/npm_config_tmp/phantomjs/
wget https://npm.taobao.org/mirrors/phantomjs//phantomjs-2.1.1-linux-x86_64.tar.bz2

2.、bower install github导致失败问题,下载不了文件

3、Too many files with unapproved license(许可证未经批准的文件太多)

[ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.11:check (default) on project ambari: Too many files with unapproved license: 780 See RAT report in: /home/kylin/apache-ambari-2.4.2-src/target/rat.txt -> [Help 1]
解决办法:加上 编译命令上加上 -Drat.skip=true 例如(mvn clean install rpm:rpm -DskipTests -Drat.skip=true -Dpython.ver=“python >= 2.6”)

mvn clean install rpm:rpm -DskipTests -Drat.skip=true -Dpython.ver=“python >= 2.6”
mvn clean install rpm:rpm -DnewVersion=2.7.6.0.0 -DskipTests -Drat.skip=true -Dpython.ver=“python >= 2.6” -X
mvn -B clean install rpm:rpm -DnewVersion=2.7.6.0.0 -DbuildNumber=388e072381e71c7755673b7743531c03a4d61be8 -DskipTests -Dpython.ver=“python >= 2.6”

4、Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (Gulp build) on project ambari-admin

5、[ERROR] Failed to execute goal on project ambari-metrics-storm-sink-legacy: Could not resolve dependencies for project org.apache.ambari:ambari-metrics-storm-sink-legacy:jar:2.7.3.0.0: Failed to collect dependencies at org.apache.storm:storm-core:jar:0.10.0.2.3.0.0-2557: Failed to read artifact descriptor for org.apache.storm:storm-core:jar:0.10.0.2.3.0.0-2557: Could not transfer artifact org.apache.storm:storm-core:pom:0.10.0.2.3.0.0-2557 from/to apache-hadoop (http://nexus-private.hortonworks.com/nexus/content/groups/public): Connect to nexus-private.hortonworks.com:80 [nexus-private.hortonworks.com/54.173.242.72] failed: Connection timed out (Connection timed out) -> [Help 1]

6、.相关问题及解决

无法访问org.json.simple.JSONAware
在ambari-metrics-storm-sink-legacy中pom.xml中添加依赖。
下面展示一些 内联代码片

<dependency>
	<groupId>com.googlecode.json-simple</groupId>
	<artifactId>json-simple</artifactId>
	<version>1.1</version>
</dependency>

7、[ERROR] Failed to execute goal on project ambari-metrics-timelineservice: Could not resolve dependencies for project org.apache.ambari:ambari-metrics-timelineservice:jar:2.7.6.0.0: Could not find artifact org.apache.zookeeper:zookeeper:jar:3.4.5.1.3.0.0-107 in aliyun-maven (http://maven.aliyun.com/nexus/content/groups/public) -> [Help 1]

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简维旅者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值