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.js | Ember 的主要应用 |
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(五)
如果有问题和建议可以评论私信,欢迎点赞收藏转发