官方给的教程比较简单,需要事先安装的工具也是这里列一点,那里列一点。在此记录一下编译要点(在 centos 7 下)。

1. 事先需要安装的工具

yum install -y git svn node python-devel rpm-build gcc-c++

2. 安装 maven, JDK8

3. 下载 python2.7 设置工具

wget https://files.pythonhosted.org/packages/25/5d/cc55d39ac39383dd6e04ae80501b9af3cc455be64740ad68a4e12ec81b00/setuptools-0.6c11-py2.7.egg#md5=fe1f997bc722265116870bc7919059ea

4. 下载完成后,运行下面的命令

sh setuptools-.6c11-py2..egg

5. 设置环境变量

export PATH=/usr/local/apache-maven-3.3./bin:$PATH
export JAVA_HOME=$(/usr/libexec/java_home)
export _JAVA_OPTIONS="-Xmx2048m -XX:MaxPermSize=512m -Djava.awt.headless=true"

6. 运行下面的命令。

wget http://www.apache.org/dist/ambari/ambari-2.7.3/apache-ambari-2.7.3-src.tar.gz
tar xfvz apache-ambari-2.7.-src.tar.gz
cd apache-ambari-2.7.-src
mvn versions:set -DnewVersion=2.7.3.0. pushd ambari-metrics
mvn versions:set -DnewVersion=2.7.3.0.
popd

7. 进入 ambari-metrics 目录, pom.xml 里有几个 .tar.gz 的下载地址,先自己下载下来(比较慢),把下载好的几个文件放在服务器上,然后把相关的 URL 改成自己的服务的下载地址。不这么做的话,编译很慢,而且很容易虽为连接超时而出错。

编译 ambari 2.7.3-LMLPHP

8. 在最外层运行下面的命令

mvn -B clean install rpm:rpm -DnewVersion=2.7.3.0. -DbuildNumber=4295bb16c439cbc8fb0e7362f19768dde1477868 -DskipTests -Dpython.ver="python >= 2.6" -Drat.skip=true

  第一次编译不成功再次编译的话,需要加上 -Drat.skip=true 这一参数,否则会报错。

9. 有的包会下载失败,在maven 仓库中会留下一些文件,会影响下次编译。运行下面的命令清除这些文件

find /opt/repos/ -name "*.lastUpdated" -exec rm -rf {} \;

10. 很多人的 maven 都会设置阿里的镜像,但是有些包貌似下载不到。我去掉阿里的镜像后。能成功下载。附上编译成功的截图。搞了2天,着实不容易。

编译 ambari 2.7.3-LMLPHP

05-28 23:37