Преглед изворни кода

AMBARI-10906. Show Phoenix Query Servers link and status in HBase summary panel (alexantonenko)

Alex Antonenko пре 10 година
родитељ
комит
326d5928cf

+ 5 - 0
ambari-web/app/mappers/components_state_mapper.js

@@ -63,6 +63,11 @@ App.componentsStateMapper = App.QuickDataMapper.create({
       region_servers_installed: 'INSTALLED_PATH',
       region_servers_total: 'TOTAL_PATH'
     },
+    'PHOENIX_QUERY_SERVER': {
+      phoenix_servers_started: 'STARTED_PATH',
+      phoenix_servers_installed: 'INSTALLED_PATH',
+      phoenix_servers_total: 'TOTAL_PATH'
+    },
     'GANGLIA_MONITOR': {
       ganglia_monitors_started: 'STARTED_PATH',
       ganglia_monitors_installed: 'INSTALLED_PATH',

+ 4 - 1
ambari-web/app/mappers/service_metrics_mapper.js

@@ -112,7 +112,10 @@ App.serviceMetricsMapper = App.QuickDataMapper.create({
     heap_memory_max: 'masterComponent.ServiceComponentInfo.HeapMemoryMax',
     region_servers_started: 'region_servers_started',
     region_servers_installed: 'region_servers_installed',
-    region_servers_total: 'region_servers_total'
+    region_servers_total: 'region_servers_total',
+    phoenix_servers_started: 'phoenix_servers_started',
+    phoenix_servers_installed: 'phoenix_servers_installed',
+    phoenix_servers_total: 'phoenix_servers_total'
   },
   stormConfig: {
     total_tasks: 'restApiComponent.tasksTotal',

+ 3 - 0
ambari-web/app/messages.js

@@ -1442,6 +1442,7 @@ Em.I18n.translations = {
   'services.service.summary.nodeManagersLive':'NodeManagers Live',
   'services.service.summary.TrackersLive':'Trackers Live',
   'services.service.summary.RegionServersLIVE':'RegionServers Live',
+  'services.service.summary.PhoenixServersLIVE':'Phoenix Query servers Live',
   'services.service.summary.GangliaMonitorsLIVE':'Ganglia Monitors Live',
   'services.service.summary.SupervisorsLIVE':'Supervisors Live',
   'services.service.summary.nameNode':'NameNode Web UI',
@@ -2409,6 +2410,8 @@ Em.I18n.translations = {
   'dashboard.services.hbase.averageLoadPerServer':'{0} regions per RegionServer',
   'dashboard.services.hbase.regionServers':'RegionServers',
   'dashboard.services.hbase.regionServersSummary':'{0} live / {1} total',
+  'dashboard.services.hbase.phoenixServers':'Phoenix Query Servers',
+  'dashboard.services.hbase.phoenixServersSummary':'{0} live / {1} total',
   'dashboard.services.hbase.chart.label':'Request Count',
   'dashboard.services.hbase.version':'Version',
   'dashboard.services.hbase.masterWebUI':'Master Web UI',

+ 3 - 0
ambari-web/app/models/service/hbase.js

@@ -25,6 +25,9 @@ App.HBaseService = App.Service.extend({
   regionServersStarted: DS.attr('number'),
   regionServersInstalled: DS.attr('number'),
   regionServersTotal: DS.attr('number'),
+  phoenixServersStarted: DS.attr('number'),
+  phoenixServersInstalled: DS.attr('number'),
+  phoenixServersTotal: DS.attr('number'),
   masterStartTime: DS.attr('number'),
   masterActiveTime: DS.attr('number'),
   averageLoad: DS.attr('number'),

+ 15 - 0
ambari-web/app/templates/main/service/services/hbase.hbs

@@ -31,6 +31,21 @@
       {{t services.service.summary.RegionServersLIVE}}
   </td>
 </tr>
+<!-- PhoenixServers -->
+{{#if view.showPhoenixInfo}}
+  <tr>
+      <td class="summary-label"><a href="#" {{action filterHosts view.regionServerComponent}}>{{t dashboard.services.hbase.phoenixServers}}</a>
+      </td>
+      <td>
+      <span>
+        {{#view App.ComponentLiveTextView liveComponentsBinding="view.service.phoenixServersStarted" totalComponentsBinding="view.service.phoenixServersTotal"}}
+          {{view.liveComponents}}/{{view.totalComponents}}
+        {{/view}}
+      </span>
+        {{t services.service.summary.PhoenixServersLIVE}}
+      </td>
+  </tr>
+{{/if}}
 <!-- Regions in Transition -->
 <tr>
   <td class="summary-label">{{t dashboard.services.hbase.regions.transition}}</td>

+ 23 - 1
ambari-web/app/views/main/service/services/hbase.js

@@ -47,6 +47,23 @@ App.MainDashboardServiceHbaseView = App.MainDashboardServiceView.extend({
     }
   }.property("service"),
 
+  phoenixServersText: function () {
+    if (this.get('service.phoenixServersTotal') == 0) {
+      return '';
+    } else if (this.get('service.phoenixServersTotal') > 1) {
+      return Em.I18n.t('services.service.summary.viewHosts');
+    } else {
+      return Em.I18n.t('services.service.summary.viewHost');
+    }
+  }.property("service"),
+
+  showPhoenixInfo: function () {
+    if (this.get('service.phoenixServersTotal') > 0) {
+      return true;
+    }
+    return false;
+  }.property("service"),
+
   /**
    * One(!) active master component
    */
@@ -120,6 +137,11 @@ App.MainDashboardServiceHbaseView = App.MainDashboardServiceView.extend({
       componentName: 'HBASE_REGIONSERVER'
     });
     //return this.get('service.regionServers').objectAt(0);
-  }.property()
+  }.property(),
 
+  phoenixServerComponent: function () {
+    return Em.Object.create({
+      componentName: 'PHOENIX_QUERY_SERVER'
+    });
+  }.property()
 });