ambari的二次开发

这一章我们详细的部署开发环境于如何调试开发ambari,大致可以分为创建实时编译的环境,使用webstorm或其他类似工具通过remot的方式连接虚拟机上传或下载更改。同时添加一个汉化的实例帮助大家来理解二次开发,与整体ambari的架构,由于作者只是浅尝辄止,并未对项目深入解析,也有不足希望各位指出

开发环境的设置

  • WebStrom 是JS的开发工具各位自行下载
  • 使用brunch来编译ambari-web的代码
#代码在/opt/ambari-2.7.6/ambari-web目录执行
npm install -g brunch
#查看安装情况
brunch  --version
#使用brunch  编译web网页
brunch build 
  • brunch 监听与server启动
    这里有两种方式来实现页面的调整
    1:使用ambari 自带的测试模式
    2:使用实际ambari-server来测试调试web,通过连接方式访问我们编译后web
#模式1
brunch watch --server 
04 Oct 11:25:02 - info: application started on http://localhost:3333/
#模式2
#备份原试文件
mv /usr/lib/ambari-server/web /usr/lib/ambari-server/web-old
#建立软链接 使系统可以访问到我们修改的代码
ln -s /opt/ambari-2.7.6/ambari/ambari-web/public /usr/lib/ambari-server/web
#重启server生效连接
ambari-server restart
#监听文件更新情况并同步到public目录
brunch w 
  • 我们使用模式1,访问localhost:3333
    用户名密码均为admin
    在这里插入图片描述

开发工具配置

  • 使用webstrom创建空项目
  • 设置sftp上传与下载代码
    点击:工具->部署->配置
    在这里插入图片描述
  • 配置SFTP
    点击 :+(加号)->写入名称->配置ssh
    在这里插入图片描述
  • 配置映射地址
    设置根路径为:/opt/ambari-2.7.6/ambari-web
    在这里插入图片描述
  • 添加新映射
    点击确定完成
    在这里插入图片描述
  • SFTP更新下载项目
    在这里插入图片描述

ambari-web的结构

assets/模拟下的数据。通过 、 从服务器提供的静态文件。assets/dataassets/fontassets/img
controllers/MVC中的C。用于主应用程序、安装程序和常用控制器的Ember 控制器controllers/maincontrollers/wizardcontrollers/global
data/应用程序的元数据(UI 元数据、服务器数据元数据等)
mappers/将服务器端 JSON 数据结构映射到客户端Ember模型的类。
models/MVC 中的 M。使用Ember 数据模型。群集、服务、主机、警报等模型在此处定义
routes/Ember 路由定义应用程序中的各种页面重定向。 包含主要应用程序路由。 包含安装程序路由。其他是各种向导等中的路由。main.jsinstaller.js
styles/以较少格式表示的 CSS 样式表。这是由Brunch汇编成ambari-web/public/stylesheets/app.css
views/MVC 中的 V。包含应用程序的所有Ember 视图。
templates/上述视图使用的 HTML 模板。通常,视图将具有模板文件。有时,视图将模板内容本身定义为字符串
app.jsEmber 的主要应用
config.js脚本应用程序的主配置文件。开发人员可以使用属性等将应用程序保持在测试模式。App.testMode

汉化的示例

  • 管理汉化的文件为messages.js
    在这里插入图片描述
  • 替换其中的Value值
    其他语句也都如此,如果遇见编译出错,
#这是因为webstrom的字符集与linux字符集不匹配导致,设置对应的字符集即可
 - error: Compiling of 'app/messages.js' failed. app/messages.js: Unterminated string constant (523:2)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在编译完成后我们可以进入下一步开发ambari全攻略流程,开发ambari(五)

如果有问题和建议可以评论私信,欢迎点赞收藏转发

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐