Ambari v2.6编译
声明:博主写了一些Ambari系列文章,可以在历史文章中查看。
一、Ambari-web二次开发
ambari-web可以单独编译,用来修改ambari UI页面。采用ember.js(版本:v1.0.pre
)作为前端MVC框架和NodeJS相关工具,用handlebars.js作为页面渲染引擎,在CSS/HTML方面还用了Bootstrap(v2.1.1)框架。
Ambari-web目录结构:
目录或文件 | 描述 |
---|---|
app/ | 主要应用程序代码。包括Ember中的view、templates、controllers、models、routes |
config.coffee | brunch应用程序生成器的配置文件 |
package.json | npm包管理配置文件 |
test/ | 测试文件 |
vendor/ | Javascript库和样式表适用第三方库。 |
1.准备工作:
- npm安装:推荐v4.5.0
- brunch安装:推荐v1.7.20
- npm、brunch安装地址:点击这里
2.安装npm依赖包
1 | 切换到ambari-web目录下 |
3.编译源码
1 | brunch build |
4.替换文件,建立软连接
1 | cd /usr/lib/ambari-server |
5.重启服务
1 | ambari-server restart |
6.打开浏览器,输入ip:8080访问页面。
二、Ambari-admin二次开发
ambari-admin也可进行单独编译,使用的是angularjs + bower + gulp。
bower与npm的使用方式基本一样,angularjs也与emberjs风格类似。
1.准备工作
1 | 切换到admin-web目录下 |
2.编辑.bowerrc文件
1 | { |
3.安装npm、bower依赖包,
1 | npm install |
4.修改gulpfile.js文件
1 | ; |
5.开始编译
1 | gulp |
6.建立软连接
1 | cd /var/lib/ambari-server/resources/views/work |
7.重启服务
1 | ambari-server restart |
8.Tip
有时候页面内容不全或无法访问,实际上是创建的软连接ADMIN_VIEW{version}缺少东西,将之前备份的ADMIN_VIEW{version}文件内容替换进去,然后再执行ambari-server restart,gulp,刷新页面应该就成功了。
现在,我们更改源码的时候,再执行一下gulp,就可以看到效果了。修改完一次,手动执行一次gulp
三、Ambari整体编译
1.准备工作
防火墙关闭 | |
---|---|
selinux关闭 | getenforce获取其当前状态 |
jdk | 1.8 |
node.js | 4.5.0 |
maven | 3.3.9 |
python(虚机自带) | ≥2.6 |
python-devel | yum install python-devel 2.7.5-90 |
rpm-build | yum install rpm-build 4.11.3-45 |
gcc-c++ | yum install gcc-c++ 0:4.8.5-44.el7 |
brunch | 1.7.20 |
bower | 1.8.12 |
gulp | |
git |
- 禁用selinux
1 | vim /etc/selinux/config |
- 禁用防火墙
查看防火墙状态
1
systemctl status firewalld
查看开机是否启动防火墙服务
1
systemctl is-enabled firewalld
关闭防火墙并使其开机自关闭
1
2systemctl stop firewalld
systemctl disable firewalld
安装python-devel、rpm-build、gcc-c++
1
2
3yum install -y python-devel
yum install -y rpm-build
yum install -y gcc-c++查看python版本
1
python -V
如果版本为2.6.x的,可忽略;
如果版本是2.7.x的,需要进行操作
ln -s /usr/bin/python2.7 /usr/bin/python2.6
2.提前下载一些文件
1 | mkdir -p ambari-admin/src/main/resources/ui/admin-web/node_tmp |
3.整体编译
- 给ambari源码赋予777权限 && cd 到ambari的根目录
- 给ambari源码打上版本号
1 | mvn versions:set -DnewVersion=2.6.1.0.0 #虽然官网说是4位,但实际上这里如果不是5位后面会有不少麻烦 |
- 编译ambari
1 | mvn -B -X -e install package rpm:rpm -DnewVersion=2.6.1.0.0 -DskipTests -Dpython.ver="python >= 2.6" -Drat.skip=true -Preplaceurl |
四、安装samba
samba可以使linux上的代码作为网络驱动器,映射到windows上。
Samba安装配置:点击这里
五、使用编译后的rpm包安装
1 | yum install -y /lyz/2.6.1/ambari-server/target/rpm/ambari-server/RPMS/x86_64/ambari-server-2.6.1.0-0.x86_64.rpm |
值得一提的是,开发ambari后台的时候,就经常会使用到整体编译,编译成功之后,再进行rpm包安装。为了提高工作效率,使用脚本来实现自动化安装。
ambariSetup.sh
1 | !/usr/bin/expect |
reSetupAmbariServer.sh
1 | !/bin/bash |
步骤:
1.执行ambari整体编译。
2.执行脚本,脚本须在同一目录下。
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
白嫖不好,创作不易。各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
原文作者: create17
原文链接: https://841809077.github.io/2018/03/12/Ambari/安装部署/Ambari v2.6.1编译.html
版权声明: 转载请注明出处(码字不易,请保留作者署名及链接,谢谢配合!)