点击卡片“Ambari二次开发实战”,选择“设为星标”或“置顶”
第一时间学习 Ambari 硬核干货!
上述图片为 Ambari 部署及操作 hdp 集群相关的部分界面截图。这些页面如果想调整的话,比如汉化,二次开发等,则可以修改 ambari-web 模块的源码来实现。
一、介绍
ambari-web 模块涉及到的界面有:
- HDP 集群部署向导 - 已安装服务的仪表板、配置界面等 - 主机列表及详细信息 - 告警列表及详细信息 - HDP 集群管理等(组件版本列表、服务用户名、启用 Kerberos、服务自启动配置) - 等等。
ambari-web 模块可以单独编译,实时看到编译后效果,用来修改开发 ambari web UI 页面。
以 ambari 2.7.3 版本为例,ambari-web 模块采用 ember.js(版本:v1.0.pre
)作为前端 mvc 框架和 nodejs 相关工具,用 handlebars.js 作为页面渲染引擎,在 css/html 方面还用了 Bootstrap(v3.3.7)框架。
关于 ambari 的 emberjs 版本如何查看:打开 ambari web 界面,F12 打开控制台,在最下面的输入框里面输入:Ember.VERSION 即可输出版本号。如下图所示:
二、目录结构
ambari-web 模块可以单独编译,利用 npm + brunch 可以实现修改后实时查看效果,对于二次开发来说简直是非常方便!
三、ambari 安装部署后,ambari-web模块相关代码在哪个目录下?
路径地址:/usr/lib/ambari-server/web/,详情见下图:
对应的源码是:ambari-web/public 下面的内容。源码推荐使用 https://archive.apache.org/dist/ambari/ ,比 https://github.com/apache/ambari提供的 tar.gz 包要大,可能更全面一点,所以推荐。
其中 public 为 ambari-web 编译后的目录文件。如果代码有改动,可以编译完生成 public 目录后,将 public 目录下的文件覆盖到 ambari-server 所在的节点:/usr/lib/ambari-server/web/ 目录下,然后重启 ambari-server,即可访问 8080 界面查看改动效果。
四、修改 ambari 前端页面内容,流程如何走通?
基于以上描述,相信大家心里也都有了思路,不过我再总结一下。修改 ambari 前端页面内容,有两种方法:
方式一:直接修改编译后的文件,目录位置在:ambari-server 节点的 /usr/lib/ambari-server/web/ 目录下。
优点是:内容实时生效;缺点是:只适合修改局部代码,不适合添加新功能。
有的网友是直接通过修改这里的文件,来实现汉化效果的。这里我还是建议使用第二种方法。
方式二:相比较而言,我更推荐第二种方式。前往 https://archive.apache.org/dist/ambari/,下载你需要的版本,修改 ambari-web 源码,然后编译,将编译后的 public 目录下的文件覆盖到 /usr/lib/ambari-server/web/ 目录下,也可以看到效果。
为了能够快速开发修改,建议采用软链接的方式,这样的话需要重启 ambari-server 来生效。(强烈推荐这种方式)
---------- END ----------
往期推荐
Ambari 2.7.3.0 安装部署 hadoop 3.1.0.0 集群完整版,附带移除 SmartSense 服务
最后说一句(求关注,别白嫖我)
扫一扫,我们的故事就开始了。
文章有用,点赞、转发、在看都是一种支持,求三连!
另外公众号改变了推送规则,大家看文章不要忘记点击最下方的在看,点赞按钮,这样微信自动识别为常看公众号,否则很可能推送的文章可能淹没在别的文章找不到,谢谢大家。
动动小手,让更多需要的人看到~