赞
踩
想要编译最新的代码,则直接参考官网的教程即可:主要有一下命令(以版本2.7.1为例):
wget http://www.apache.org/dist/ambari/ambari-2.7.1/apache-ambari-2.7.1-src.tar.gz (use the suggested mirror from above)
tar xfvz apache-ambari-2.7.1-src.tar.gz
cd apache-ambari-2.7.1-src
mvn versions:set -DnewVersion=2.7.1.0.0
pushd ambari-metrics
mvn versions:set -DnewVersion=2.7.1.0.0
popd
mvn -B clean install rpm:rpm -DnewVersion=2.7.1.0.0 -DbuildNumber=90430db08a5f543a97d97918cf5f711f2786ad8a \
-DskipTests -Dpython.ver="python >= 2.6"
按照自己的经验,想要开官网的指南想编译成功几乎是不可能的。
所以首先 在某一步出现问题之后需要知道编译不需要重新开始,只需要在失败的地方开始就行,比如在ambari-metrics失败了,解决问题之后,可以用一下命令开始:
mvn -B install rpm:rpm -DnewVersion=2.7.1.0.0 -DbuildNumber=90430db08a5f543a97d97918cf5f711f2786ad8a \
-Dpython.ver="python >= 2.6" \
-rf :ambari-metrics
需要注意的是将clean 去掉。
有一篇比较不错的相关文章:
Ambari编译问题解决 里面列出了好多常见的错误情况。
以我自己的经验在命令行中添加一些命令可以防止两个错误:
mvn -B clean install rpm:rpm -DnewVersion=2.7.1.0.0 -DbuildNumber=90430db08a5f543a97d97918cf5f711f2786ad8a \
-DskipTests -Dpython.ver="python >= 2.6" \
-Dcheckstyle.skip \
-Drat.skip=true
在编译 ambari-metrics的有Hadoop和hbase几个大文件需要下载,我们可以自己下载号,修改pom.xml对应的链接即可:
进入ambari-metrics目录:
修改pom.xml为
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <python.ver>python >= 2.6</python.ver> <deb.python.ver>python (>= 2.6)</deb.python.ver> <!--TODO change to HDP URL--> <hbase.tar>http://192.168.56.1/hbase-2.0.0.3.0.0.0-1634-bin.tar.gz</hbase.tar> <hbase.folder>hbase-2.0.0.3.0.0.0-1634</hbase.folder> <hadoop.tar>http://192.168.56.1/hadoop-3.1.0.3.0.0.0-1634.tar.gz</hadoop.tar> <hadoop.folder>hadoop-3.1.0.3.0.0.0-1634</hadoop.folder> <grafana.folder>grafana-2.6.0</grafana.folder> <grafana.tar>http://192.168.56.1/grafana-2.6.0.linux-x64.tar.gz</grafana.tar> <phoenix.tar>http://192.168.56.1/phoenix-5.0.0.3.0.0.0-1634.tar.gz</phoenix.tar> <phoenix.folder>phoenix-5.0.0.3.0.0.0-1634</phoenix.folder> <resmonitor.install.dir>/usr/lib/python2.6/site-packages/resource_monitoring</resmonitor.install.dir> <powermock.version>1.6.2</powermock.version> <distMgmtSnapshotsId>apache.snapshots.https</distMgmtSnapshotsId> <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName> <distMgmtSnapshotsUrl>https://repository.apache.org/content/repositories/snapshots</distMgmtSnapshotsUrl> <distMgmtStagingId>apache.staging.https</distMgmtStagingId> <distMgmtStagingName>Apache Release Distribution Repository</distMgmtStagingName> <distMgmtStagingUrl>https://repository.apache.org/service/local/staging/deploy/maven2</distMgmtStagingUrl> <fasterxml.jackson.version>2.9.5</fasterxml.jackson.version> </properties>
我这是下载好,放在了自己的http服务下。
这个工程需要非常非常多的依赖,中间的rpm编译结果还需要很大的中间存储,首先得保证磁盘空间够。还有就是依赖下载慢或者下载不下来,那这时候就需要科学上网,并需要配置终端也可通过代理链接,这个方法此处不表。
版本2.7.1的server 编译有bug ,需要修改pom.xml的一个值:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。