【Hadoop】Ambari 2.4.2源代码编译(原)

登录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"

《【Hadoop】Ambari 2.4.2源代码编译(原)》 Paste_Image.png

3. 生成的rpm包

《【Hadoop】Ambari 2.4.2源代码编译(原)》 Paste_Image.png

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

    原文作者:mikeliuy
    原文地址: https://www.jianshu.com/p/a6d2e1858b9e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞