编译Ambari源码的主要目的是有时我们修改了源码,需要将修改的内容打到包重,通过前面我们知道,Ambari最终的安装文件主要就两个RPM包,ambari-server和ambari-agent。基于上述,有些场景我们需要重新编译源码。
Ambari2.6.2 源码github下载地址:https://github.com/apache/ambari/tree/release-2.6.2
环境准备
1. JDK环境,从以下地址下载并配置环境变量
2. maven安装,本文使用3.3.9版本
下载完后,解压并设置环境变量。配置完后,可以通过 maven -version验证。
替换为国内源,速度比较快,编辑maven安装路径下的 conf/setting.xml,添加如下内容
3. rpmbuild安装
由于需要打包RPM,所以需要安装rpmbuild。执行 yum install rpm-build
验证是否安装成功,执行 rpmbuild --version
4. 安装 gcc-c++及相关依赖包
yum install gcc make gcc-c++ openssl-devel wget
5. 安装nodeJS
下载完后,解压,配置环境变量。执行 node -v,npm -v
6. 安装brunch
执行 npm install -g brunch@1.7.20 ,然后执行 brunch -V进行验证
7. 安装python-devel
yum install python-devel
编译Ambari
切换到Ambari源码主目录下
执行 mvn -B clean install package rpm:rpm -DnewVersion=2.6.2.0.0 -DskipTests -Drat.skip -Dpython.ver="python >= 2.6"
编译过程遇到的问题
1. 编译Ambari-web出现下面问题,重新运行编译指令(一般编译都有卡顿的现象,如果等待时间过长,可以直接ctrl+z干掉重新编译)
2. 编译Ambari Admin views 事出现如下问题,git没有安装,执行 yum install git
3. 在编译过程中,有些文件比较大,可以事先下载下来,做成源,然后将代码的地址改成自己搭建的源即可
领取专属 10元无门槛券
私享最新 技术干货