1 引言
前幾天接到任務需要對Ambari的Web service部分進行修改,於是就開始了工作。由於時間倉促可能問題歡迎大家指正!後面會不定期更新這篇博客。
Ambari版本 2.1.2
2 源碼結構
2.1 ambari項目結構
Ambari 2.1.2項目還是比較大型的,完整看完需要大量時間。整理起來目錄結構如下:
ambari 源碼路徑
--|ambari-web web項目路徑
--|app 主要應用程序代碼路徑
--|assets 靜態文件
--|controller MVC中的Controller
--|models MVC中的Model
--|views MVC中的View
--|templates View的模板
--|styles View的CSS樣式
--|data 數據
--|mappers JSON數據到Client的Embar實體的映射
--|routes 路由器
--|utils 工具文件
--|mixins 混合工具(?)
--|app.js Ember主程序
--|config.js 配置文件
--|initialize.js 初始化app
--|views.js 引入MVC的所有View位置
--|messages.js 翻譯表
--|...
--|test 測試文件
--|vendor 第三方庫
--|config.coffee Brunch的配置文件
--|package.jsonNpm 包管理配置文件
--|...
--|ambari-server Server項目路徑程序
--|ambari-agent Agent項目路徑
--|ambari-views Ambari頁面UI的擴展代碼
--|ambari-common 共用的代碼
--|contrib 第三方庫
--|docs 文檔
--|...
2.2 ambari-web項目結構
ambari/ambari-web/app/templates是handlebars的模板存放文件夾,對UI進行修改主要需要修改這一部分代碼先放個圖方便講解
其目錄結構如下。
templates
--|commom 公用模板(可以不動)
--|main 模板的主體部分
--|dashboard 2 Dashboard標籤模板
--|widgets 6組件模板
--|cluster_metrics.hbs 6生成顯示集羣資源信息的圖表
--|hbase_links.hbs 6生成Hbase的監控圖表
--|hdfs_links.hbs 6生成HDFS的監控圖表
--|pie_chart.hbs 6生成顯示餅狀圖的監控圖表
--|simple_text.hbs 6生成顯示簡單文字的監控圖表
--|uptime.hbs 6生成集羣啓動信息的監控圖表
--|yarn_links.hbs 6生成Yarn的監控圖表
--|config_history.hbs 4 Config History標籤模板
--|edit_widget_popup.hbs 編輯組件彈出模板
--|plus_button_filter.hbs 按下後的反應過濾器(?)
--|widgets.hbs 4 5 用於生成操作和生成監控圖表
--|service 2 services標籤模板
--|hosts 2 hosts標籤模板
--|alerts 2 alerts標籤模板
--|admim 2 admin標籤模板
--|charts 圖表模板
--|service.hbs 2 services標籤入口模板
--|hosts.hbs 2 hosts標籤入口模板
--|alerts .hbs 2 alerts標籤入口模板
--|admin.hbs 2 admin標籤入口模板
--|charts.hbs 2圖表入口模板
--|memu.hbs 4菜單欄入口模板
--|memu_item.hbs 5菜單欄入口模板
--|views.hbs 3 生成組件列表(?)
--|utils 工具模板
--|wizard ambari 部署子模板
--|application.hbs ambari 主體模板
--|experimental.hbs 實驗性模板,用於測試新模板
--|installer.hbs ambari 部署入口模板
--|login.hbs 登陸模板
--|main.hbs 頂上的導航條模板(?)