赞
踩
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包的目的,可能是为了一些取舍,不管什么原因,目前最好按照它期望的方式进行编译吧!
# 下载依赖
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>
# 设置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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。