登录ambari网站,发现需要下载源代码包,自行编译。参照官方的文档进行编译,有无数的坑,只得在百度其它资源参考之,然后将编译过程记录下来。
1. 准备编译环境
OS: CentOS 7.3.1611
JDK: 8u112
Maven: 3.2.5
Nodejs: 0.10.44
0)系统包和一些配置
# yum install rpm-build gcc make gcc-c++ openssl-devel git ant -y
1)下载并安装JDK-8u112
###注意此URL忽略了认证信息
# wget http://download.oracle.com/otn/java/jdk/8u112-b15/jdk-8u112-linux-x64.rpm
# rpm -ivh jdk-8u112-linux-x64.rpm
2)下载并安装maven 3.2.5
3)下载并安装node-v0.10.44
因为ambari依赖Nodejs,所以预先进行安装nodejs。
# wget https://nodejs.org/download/release/v0.10.44/node-v0.10.44-linux-x64.tar.gz
# tar zxvf node-v0.10.44-linux-x64.tar.gz -C /opt/
4)配置环境变量
# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_112
export CLASSPATH=.:$JAVA_HOME/lib
export MAVEN_HOME=/opt/apache-maven-3.2.5
export NODE_HOME=/opt/node-v0.10.44-linux-x64
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:$PATH
# source /etc/profile
5)配置nodejs
# npm -v
# node -v
#查找node根目录
# npm root -g
# cd /opt/node-v0.10.44-linux-x64/lib/node_modules
#更改源
# npm config set registry https://registry.npm.taobao.org
# npm info underscore
#安装1.7.20版本的brunch
# npm install -g brunch@1.7.20
6)检查python版本,建议2.7以上,至少2.6以上
# python -V
2. 下载源代码,进行编译
# wget http://mirrors.hust.edu.cn/apache/ambari/ambari-2.4.2/apache-ambari-2.4.2-src.tar.gz
# tar zxvf apache-ambari-2.4.2-src.tar.gz
# cd apache-ambari-2.4.2-src
# mvn versions:set -DnewVersion=2.4.2.0.0
# pushd ambari-metrics
#有些文档标注此处要“cd ..”,经验证此处按照官档去做。
# mvn versions:set -DnewVersion=2.4.2.0.0
# popd
# mvn -B clean install package rpm:rpm -DnewVersion=2.4.2.0.0 -DskipTests -Dpython.ver="Python >= 2.6"
3. 生成的rpm包
Ambari要把ambari-server安装到管理节点上,ambari-agent安装到集群节点上,包的位置如下:
./ambari-server/target/rpm/ambari-server/RPMS/x86_64/ambari-server-2.4.2.0-0.x86_64.rpm
./ambari-agent/target/rpm/ambari-agent/RPMS/x86_64/ambari-agent-2.4.2.0-0.x86_64.rpm
问题解决:
1、如果报错:too many files are opened
# echo fs.inotify.max_user_watches=524288 >> /etc/sysctl.conf && sysctl -p
#将每个进程可以打开的文件数目加大到10000,缺省为1024
# ulimit -u 100000
2、如果中间断掉,建议去掉clean,继续编译。
3、安装Nodejs 6.x.x版本不能编译,建议卸载,安装0.10.44。
4、编译过程中出现版本不一致问题,请参考http://blog.csdn.net/royma_1990/article/details/51749981。
参考资源:
https://github.com/apache/ambari
https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.4.2
http://blog.csdn.net/chengyuqiang/article/details/53788351
http://blog.csdn.net/royma_1990/article/details/51749981