ambari集群怎么查看yarn的资源 ambari界面_大数据

ambari集群怎么查看yarn的资源 ambari界面_ambari集群怎么查看yarn的资源_02


ambari集群怎么查看yarn的资源 ambari界面_linux_03


ambari集群怎么查看yarn的资源 ambari界面_linux_04

上述图片为 Ambari 后台管理相关的部分界面截图。这些页面如果想调整的话,比如汉化,二次开发等,则可以修改 ambari-admin 模块的源码来实现。

一、介绍

ambari-admin 模块主要是后台管理功能,涉及到的界面有:

  • 集群 Blueprint 信息
  • Stack 栈信息
  • 远程集群访问
  • Ambari 用户及组信息
  • Ambari view 视图

ambari-admin 模块可以单独编译,实时看到编译后效果,用来修改开发 ambari 后台管理页面。

以 ambari 2.7.3 版本为例,ambari-admin 模块采用 angular.js(版本:1.8.2)作为前端 mvc 框架,配合 Bootstrap、jQuery(v3.6.0) 等 JavaScript 库,css/html 方面使用了 Bootstrap(v3.3.7)框架,来开发的 ambari 后台管理界面。还用到了一些其他东西,如下图所示:


ambari集群怎么查看yarn的资源 ambari界面_vue_05

关于 ambari 的 angular.js 版本如何查看:打开 ambari 后台管理界面,F12 打开控制台,在最下面的输入框里面输入:angular.version 即可输出版本号。如下图所示:


ambari集群怎么查看yarn的资源 ambari界面_大数据_06

二、目录结构

ambari-admin 模块也可进行单独编译,使用的是 angularjs + bower + gulp ,目录如下:

ambari集群怎么查看yarn的资源 ambari界面_vue_07

三、ambari 安装部署后,ambari-admin 模块相关代码在哪个目录下?

路径地址:/var/lib/ambari-server/resources/views/work/ADMIN_VIEW{2.7.3.0},详情见下图:


ambari集群怎么查看yarn的资源 ambari界面_大数据_08

对应的源码是:ambari-admin/src/main/resources/ui/admin-web/dist 下面的内容。源码推荐使用 https://archive.apache.org/dist/ambari/ ,比 https://github.com/apache/ambari 提供的 tar.gz 包要大,可能更全面一点,所以推荐。

其中 dist 为 admin-web 编译后的目录文件。如果代码有改动,可以编译完生成 dist 目录后,将 dist 目录下的文件覆盖到 ambari-server 所在的节点:/var/lib/ambari-server/resources/views/work/ADMIN_VIEW{2.7.3.0}/ 目录下,然后重启 ambari-server,即可访问 8080 界面查看改动效果。

如果代码改动频繁,可以做一个软链,这样只需重启一次 ambari-server 即可,后续改动代码,执行完 gulp 编译之后,刷新页面就可以实时查看效果了。

四、修改 ambari 后台管理界面,流程如何走通?

基于以上描述,相信大家心里也都有了思路,不过我再总结一下。修改 ambari 后台管理界面,有两种方法:

方式一:直接修改编译后的文件,目录位置在:ambari-server 节点的 /var/lib/ambari-server/resources/views/work/ADMIN_VIEW{2.7.3.0}/ 目录下。

优点是:内容实时生效;缺点是:只适合修改局部代码,不适合添加新功能。

有的网友是直接通过修改这里的文件,来实现汉化效果的。这里我还是建议使用第二种方法。

方式二:相比较而言,我更推荐第二种方式。前往 https://archive.apache.org/dist/ambari/,下载你需要的版本,修改 ambari-admin 模块源码,然后编译,将编译后的 dist 目录下的文件覆盖到 /var/lib/ambari-server/resources/views/work/ADMIN_VIEW{2.7.3.0}/ 目录下,也可以看到效果。

为了能够快速开发修改,建议采用软链接的方式,这样的话只有第一次需要重启 ambari-server 来生效,后续改动代码,执行完 gulp 编译之后,刷新页面就可以实时查看效果了。