概述(感恩前面有人分享,才有今天的分享_)
有了了解与理解;及做到了,那做熟呢? 还没有嘛。“知不足而奋进”是我常挂心中并鼓励团队时推崇的。
经历了0到1。就向前1到n,不要嫌重复操作枯燥乏味,这里有深层的思考与分析。
练会咏春不等于练好咏春,一日练,百日。。。千日练方可熟~~
当然本文不能与武术咏春相提比论哈。
本文目的:赋能有心人,0.5小时实现《Ambari2.7.7.0源码编译打包》
注:本文是基于前文 Ambari2.7.7.0源码编译打包ambari-2.7.7.0-1-centos7_8-x86_64.tar.gz基础上展开的。所以要理解前文才容易往下看。
背景
前文 Ambari2.7.7.0源码编译打包ambari-2.7.7.0-1-centos7_8-x86_64.tar.gz 分享目的是:0.5天内实现《Ambari2.7.7.0源码编译打包》
抛开源码下载,依赖下载,准备编译环境。(我都帮做了)
源码取自:2022-12-11 17 39
直接拿《预处理好的源码》与《装好的环境》进行构建不是更高效。so …
编译材料 | 提供 | 备注 |
---|---|---|
预处理好的源码 | 构建后的源码,mvn clean 后,打包提供 apache-ambari-2.7.7-src_modify.tar.gz 169M | 前端依赖没清理,刚好复用上 |
装好的环境 | 大家先自己装下 | 后面有机会搞个镜像分享下 |
挑战0.5小时完成编译打包
按照思路,看能不能0.5小时做完构建
。。。try 。。。
。。。行不通。。。
原来构建还会下载些东西。
来分析下源码大小的变化:
从最初88M,到所有模块构建完9.0G。
源码占用空间大少的增量变化过程:
apache-ambari-2.7.7-src.tar.gz 88M -> 解压后272M -> 预理处+前端依赖(多50M左右)
apache-ambari-2.7.7-src_modify.tar.gz 169M -> 解压后 582 M
步骤6.2 编译ambari-server,ambari-agent rpm包 -> 7.9G (用时28+分钟)
步骤6.3 编译ambari-metrics rpm包 -> 8.2G (用时9+分钟)
步骤6.4 编译ambari-infra rpm包 -> 8.8G (用时1.5分钟)
步骤6.5 编译ambari-logsearch rpm包 -> 9.0G (用时1+分钟)
其中步骤6.2先执行,会下载很多东西同时生成不少内容。
再重复6.2/3/4/5步骤。看看用进如何:
步骤6.2 Total time: 13:14 min
步骤6.3 Total time: 09:27 min
步骤6.4 Total time: 01:28 mi
步骤6.5 Total time: 01:10 min
总结:首次0到1编译构建完成,0.5小时是不够的。只能在别人基础上复用环境和预处理源码。
失败是意料之中,再试。。。try again。。
今次不从apache-ambari-2.7.7-src_modify.tar.gz(附图A方案)搞起。从9.0G重新开始:
在步骤6.5之后,
1,删除构建产生的共计49个rpm
cd /opt/apache-ambari-2.7.7-src && find ./ -name "*.rpm" -exec rm -f {} \;
空间降至7.4G。
再压缩成:apache-ambari-2.7.7-src_not_rpm.tar.gz (5.1G)
2,删除target目录
find ./ -name "*target" -exec rm -rf {} \;
空间降至683M。(太小了,感觉不踏实~~)
再压缩成:apache-ambari-2.7.7-src_not_target.tar.gz (184M)~~不就回到 apache-ambari-2.7.7-src_modify.tar.gz 么。恩,至少验证了我的思考。
so …还是以apache-ambari-2.7.7-src_not_rpm.tar.gz (5.1G)(附图B方案)来构吧。
cd /opt/
rm -rf apache-ambari-2.7.7-src
tar -zxvf apache-ambari-2.7.7-src_not_rpm.tar.gz -C .
并行构建步骤:6.2/3/4/5
结果:15分钟内完成构建。
结总:借力前人成果,0.5小时完成构建是可行的。
编译材料 | 提供 | 备注 |
---|---|---|
预处理好且构建过的源码 | 构建后的源码,删除rpm 后,打包提供 apache-ambari-2.7.7-src_not_rpm.tar.gz (5.1G) | 适用于快速演示或进入二次开发状态,回到构建初衷 |
装好的环境 | 大家先自己装下 | 后面有机会搞个镜像分享下 |
既然要达到目标:0.5小时完成构建打包。就把所有待准备的都要提供好。
从材料都上传到服务器算起:10分钟还原环境+20分钟并行构建。30分钟出包。中间还可以喝杯coffee ^_^
云盘如下:
链接:https://pan.baidu.com/s/1hTwKTmj5dmtxTOXNZTMr6g
提取码:azhn
体会:
当初编译构建是出于什么原因呢?是要展示下能力么?不是的。应该是为了要具备对源码的《自构建力》。那为啥需要自构建力呀,可以二开呀~调式呀~DIY 之类,各样想法。
既然要二开,就专注二开吧了。兜那么大圈!!如果运维团队接到研发团的代码要搞一大圈才能构建,其它不说,好评就不好给的。除非遇上大型复杂架构。
所以本文的价值在于《自构建力》的可复制。复制给想要的人。
I:当你想通过历练0到1构建,来了解->理解->做到成功编译打包。上文 Ambari2.7.7.0源码编译打包ambari-2.7.7.0-1-centos7_8-x86_64.tar.gz 给你成功指引。
II:当你想快速演示编译打包过程或快速展开二次开发,本文就给你提供基础了。直接复制本文《自构建力》。在本文提供的成果之上快速入戏。
附: 源码占用空间大少的增量变化状态图:
接下文Ambari2.7.7.0源码编译打包-0.5小时完成[验收] 进行验收实操–《自构建力》复制。