Ambari 2.7.7源码编译

心得

ambari是什么?懂的都懂,这里不做过多介绍.
经历了2.7.4和2.7.5的暗黑时代,终于迎来了2.7.7版本的发布,其中心酸,不可言语…
其实2.7.6版本已经移除了amabri-metrics的闭源依赖,但是hbase的版本依旧停留在2.0.2,而2.7.7版本,hbase的版本已经升级至2.4.2,不管怎么说,反正是小小的升级了一波,总比不进步要强吧.
说实在的,ambari的思想落地,是不错的,但是它对开发者,是不友好的,它的代码中,包含了大量的自己搭建的框架,业务+框架=头疼!
才看到它的代码时,你会说,明明可以用spring一把过的东西,它非要重新搞一套框架吗?开发者根本没有办法专注与业务本身!
我也认为它这样的决定,注定了之后的版本升级上, 它本身架构层的代码无法撼动(其实也和它开发的时间有关,当时spring还是基于xml配置的方式来注入bean).
但是以上种种,都不妨碍它确实足够优秀,里面的架构思想,值得人学习!
而本文的重点,是从编译说起.
ambari打包为rpm包或者deb包的目的,可能是为了一些取舍,不管什么原因,目前最好按照它期望的方式进行编译吧!

依赖

  • JDK选择1.8
  • node选择10(6也行)
  • 提前下载好phantomjs-1.9.7-linux-x86_64.tar.bz2包,最好同时下载1.9.8和2.1.1版本(因为你也没办法确认最终会使用哪个),将它们放在==/tmp/phantomjs==路径下,这一步非常重要,这是前端依赖包,这样做可以避免因为没有办法科学冲浪导致的打包失败.

编译步骤

  1. 进入ambari-admin/src/main/resources/ui/admin-web,提前下载前端依赖包
# 下载依赖
npm install
# 使用bower包管理工具下载依赖(这一步需要外网,才可以下载依赖包)
bower install

通过以上步骤,会在ambari-admin/src/main/resources/ui/admin-web/app路径下多一个bower_components文件夹,到达这一步,基本上前端编译的依赖问题解决!
2. 建议(也可以不做)修改ambari-metrics/pom.xml依赖的软件包路径,改为本地提前下载好的包路径,这样会提高编译速度

<!--TODO change to HDP URL-->
    <hbase.tar>file:///var/ambari/packages/hbase-2.4.2-bin.tar.gz</hbase.tar>
    <hbase.folder>hbase-2.4.2</hbase.folder>
    <hadoop.tar>file:///var/ambari/packages/hadoop-3.1.1.tar.gz</hadoop.tar>
    <hadoop.folder>hadoop-3.1.1</hadoop.folder>
    <hadoop.version>3.1.1</hadoop.version>
    <grafana.folder>grafana-6.7.4</grafana.folder>
    <grafana.tar>file:///var/ambari/packages/grafana-6.7.4.linux-amd64.tar.gz</grafana.tar>
    <phoenix.tar>file:///var/ambari/packages/phoenix-hbase-2.4-5.1.2-bin.tar.gz</phoenix.tar>
  1. 打包.以最新的ambari-2.7.7为例
# 设置ambari项目pom版本
mvn versions:set -DnewVersion=2.7.7.0.0
# 进入ambari-metrics
pushd ambari-metrics
# 设置ambari-metrics版本
mvn versions:set -DnewVersion=2.7.7.0.0
# 跳出ambari-metrics
popd
# 编译ambari-server,ambari-agent rpm包
mvn -B clean install rpm:rpm -DnewVersion=2.7.7.0.0 -DbuildNumber=388e072381e71c7755673b7743531c03a4d61be8 -DskipTests -Drat.skip=true -Dpython.ver="python >= 2.6"
# 进入ambari-metrics
pushd ambari-metrics
# 编译ambari-metrics rpm包
mvn install -Dbuild-rpm -DskipTests -Drat.skip=true
# 跳出ambari-metrics
popd
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Ambari是一个开源的集群管理工具,它可以用于管理Hadoop和Hadoop生态系统中的其他组件。下面是关于如何在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、付费专栏及课程。

余额充值