ambari源码编译教程

前言

ambari源码编译是一个非常痛苦的过程,其官网上的编译资料非常少。本人在尝试编译ambari编码的过程中,遇到了非常多的问题,特别是ambari-web模块,吃了不少苦头。本文介绍的是ambari-2.4.0.0的源码编译过程,如果是高版本编译,可能会少一些问题。编译环境基本从零构建,我相信本教程应该适用绝大多数用户。

一、编译环境准备

1. 安装必要的编译工具:

yum install -y gcc make gcc-c++ openssl-devel wget bzip2 rpm-build python-devel

2. 检查java jdk版本及Python版本

java -version
python -V

jdk 要求1.8版本(1.7版本或许可行,本人没有尝试),python版本要求>=2.6并且<3.0,如果默认python版本不是2.6,则要求有可执行文件/usr/bin/python2.6。如果是在Centos 7.5系统上编译,系统是不带python 2.6版本的,安装python 2.6版本:

wget https://www.python.org/ftp/python/2.6.8/Python-2.6.8.tgz
tar -xzvf Python-2.6.8.tgz
cd Python-2.6.8
./configure
make && make altinstall  
sudo ln -s /usr/local/bin/python2.6 /usr/bin/python2.6

安装完成后使用/usr/bin/python2.6 -V命令,检查安装是否正确

3. 安装maven

wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
tar -zxvf apache-maven-3.6.0-bin.tar.gz -C /opt
sudo vim /etc/profile #编辑环境变量,加入以下两句
export MVN_HOME=/opt/apache-maven-3.6.0
export PATH=${MVN_HOME}/bin:$PATH

source /etc/profile

4. 下载安装phantomjs-1.9.8(关于ambari-web构建模块用到的工具都需要特定版本,下面用到的版本都已经过本人验证):

wget http://cdn.npm.taobao.org/dist/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2
tar -jxvf phantomjs-1.9.8-linux-x86_64.tar.bz2 -C /opt
sudo vim /etc/profile

export PHANTOMJS_HOME=/opt/phantomjs-1.9.8-linux-x86_64
export PATH=${PHANTOMJS_HOME}/bin:$PATH

5. 下载并安装nodejs-0.10.44版本,nodejs用来编译ambari-web模块:

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/ #解压nodejs并放到/opt目录下
sudo vim /etc/profile #配置环境变量PATH,写入以下两行内容
export NODEJS_HOME=/opt/node-v0.10.44-linux-x64/
export PATH=${NODEJS_HOME}/bin:$PATH

source /etc/profile #让环境变量生效

执行npm -v命令,结果如下图显示,表明nodejs安装成。如果执行不成功,检查PATH路径是否配置好。

[ambari@localhost ~]$ npm -v
2.15.0

6. 更换npm仓库源为淘宝:

npm config set registry https://registry.npm.taobao.org

7. 安装brunch-1.8.5版本 (brunch是一个html5构建工具):

npm install -g brunch@1.8.5

8. 安装PhantomJs的依赖库:yum install libXext libXrender fontconfig libfontconfig.so.1,否则会遇到下面的错误提示信息(不影响编译):

Error verifying phantomjs, continuing { [Error: Command failed: /opt/phantomjs-1.9.8-linux-x86_64/bin/phantomjs: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory

二、编译Ambari

1. 下载并解压ambari 2.4.0版本源码:

wget http://archive.apache.org/dist/ambari/ambari-2.4.0/apache-ambari-2.4.0-src.tar.gz
tar xfvz apache-ambari-2.4.0-src.tar.gz

2. 修改apache-ambari-2.4.0-src/ambari-admin项目下的bower版本定义文件:

vim ambari-admin/src/main/resources/ui/admin-web/package.json

找到该行记录:"bower": "1.3.8", 将其修改为 "bower": "1.8.8"。否则会遇到这个错误:SyntaxError: Use of const in strict mode。经过本人多次研究,ambari-2.4.0版本,只有该方法有效(注:如果将bower版本改为1.2.0,不会报这个错误,但会报另一个bower版本过时的错误)

3. 编辑ambari-metrics/ambari-metrics-storm-sink/pom.xml文件,加入以下内容:

 <repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>http://central.maven.org/maven2/</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

修改storm.version属性为以下内容:
<properties>
    <storm.version>1.1.0</storm.version>
</properties>

4. 编辑ambari/ambari-server/pom.xml文件,修改findBugs版本:

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>3.0.5</version>

5. 开始编译:

cd apache-ambari-2.4.0-src
mvn versions:set -DneVersion=2.4.0.0.0
 
pushd ambari-metrics
mvn versions:set -DnewVersion=2.4.0.0.0
popd

mvn -B clean install package rpm:rpm -DnewVersion=2.4.0.0.0 -DskipTests -Dpython.ver="python >= 2.6"

项目编译成功所需时间在30分钟左右:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Ambari是一个开源的集群管理工具,它可以用于管理HadoopHadoop生态系统中的其他组件。下面是关于如何在Linux系统上从源码编译和安装Ambari的步骤: 1. 安装编译工具和依赖项 首先需要安装一些编译工具和依赖项,以便编译Ambari。使用以下命令安装这些工具和依赖项: ``` sudo apt-get install git maven rpm createrepo ``` 2. 下载Ambari源代码 使用以下命令从Github上下载Ambari源代码: ``` git clone https://github.com/apache/ambari.git ``` 3. 切换到特定的版本 如果您想要安装特定版本的Ambari,可以切换到该版本的分支。使用以下命令切换到Ambari 2.7.5分支: ``` cd ambari git checkout branch-2.7.5 ``` 4. 编译Ambari 进入ambari-server目录,使用以下命令编译Ambari: ``` cd ambari-server mvn versions:set -DnewVersion=2.7.5.0.0 mvn clean install -PskipTests ``` 该操作将会花费几分钟的时间来编译和构建Ambari。 5. 安装Ambari 编译完成后,进入ambari-server/target目录。在这个目录中你将会看到一个名为ambari-server-2.7.5.0.0.tar.gz的文件。解压缩该文件并安装Ambari: ``` tar -xvf ambari-server-2.7.5.0.0.tar.gz cd ambari-server-2.7.5.0.0 sudo ./setup.sh ``` 该操作将会安装Ambari并启动Ambari Server。 6. 访问Ambari Web控制台 安装完成后,您可以通过在Web浏览器中输入Ambari Server的IP地址和端口来访问Ambari Web控制台。 ``` http://your_server_ip:8080 ``` 现在您可以使用Ambari管理Hadoop和其他Hadoop生态系统组件了。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值