环境准备
- 系统选择:centos6.5 64位
- 关闭selinux:sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
- 关闭防火墙:
- service iptables stop
- chkconfig iptables off
- service iptables status
- 安装jdk
- 先卸载原有的
- 安装配置新的jdk
- 安装maven
- 本次使用3.6.0版本,官网直接下载
- 下载之后解压
- 配置环境变量
- export MAVEN_HOME=/root/maven/apache-maven-3.6.0
- export PATH=$MAVEN_HOME/bin:${PATH}
- 更改镜像地址
-
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
<mirror>
<id>ui</id>
<name>Mirror from UK</name>
<url>http://uk.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
- 安装git
- 检测是否已经安装:git –version
- 安装:yum install -y git
- 安装Python
- 本文使用python2.6.6版本
- 检查自带版本为多少,如果是小版本差异没什么问题
- 安装rpmbuild
- 检测是否已经安装:rpm -qa | grep rpm-build
- 安装:yum install -y rpm-build
- 安装g++
- 检测:rpm -qa | grep gcc-c++
- 安装:yum install -y gcc-c++
- 安装nodejs
- 下载:wget http://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz
- 解压:
- xz -d node-v8.11.2-linux-x64.tar.xz
- tar -xvf node-v8.11.2-linux-x64.tar
- 配置环境变量:
-
export NODE_HOME=/root/maven/apache-maven-3.6.0/conf/node-v8.11.2-linux-x64
export PATH=$NODE_HOME/bin:$PATH
-
- 检测:
- node -v
- npm -v
- 检测:
- 安装brunch
- 安装:npm install -g brunch
- 检测:brunch
源码编译
- 上传源码包
- 给所有文件赋最高权限(因为代码上传之后会有些文件是去可执行权限,编译过程中会出现报错)
- chmod -R 777 apache-ambari-2.6.2-src
- 进入文件夹
- 修改配置文件(因为有四个文件较大,将文件上传到本地,更改下载地址)
- ambari-metrics文件夹中的pom文件
- ambari-metrics文件夹中的pom文件
- 回到 apache-ambari-2.6.2-src目录
- mvn versions:set -DnewVersion=2.6.2.0.0
- pushd ambari-metrics
- mvn versions:set -DnewVersion=2.6.2.0.0
- popd
- mvn -B clean install rpm:rpm -DnewVersion=2.6.2.0.0 -DbuildNumber=631319b00937a8d04667d93714241d2a0cb17275 -DskipTests -Dpython.ver="python >= 2.6.6"
- 如果步骤环境中的python版本不是2.6.6,更换步骤五中的Python版本
- 成功
- 收集rpm包
- find apache-ambari-2.6.2-src -name "*.rpm" |xargs -i cp {} 1
- 合并rpm包,将ambari自带的rpm包同样发到收集好的rpm包目录下
- createrepo创建本地yum源
- 安装createrepo:yum install createrepo
- createrepo ./
- 生成目录和文件