Updated Branches: refs/heads/trunk c7a9937af -> e3b1b09de
AMBARI-4558. Drop livenodes from being queried (Mikhail Bayuk via alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e3b1b09d Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e3b1b09d Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e3b1b09d Branch: refs/heads/trunk Commit: e3b1b09debac75176dbeb97ca1fc015960d98237 Parents: c7a9937 Author: Alex Antonenko <[email protected]> Authored: Fri Feb 7 21:49:44 2014 +0200 Committer: Alex Antonenko <[email protected]> Committed: Fri Feb 7 21:49:44 2014 +0200 ---------------------------------------------------------------------- .../app/controllers/global/update_controller.js | 63 ++++++++++---------- .../app/mappers/service_metrics_mapper.js | 26 -------- ambari-web/app/models/service/hdfs.js | 2 - ambari-web/app/models/service/yarn.js | 1 - .../app/views/main/dashboard/service/hdfs.js | 12 ++-- 5 files changed, 39 insertions(+), 65 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3b1b09d/ambari-web/app/controllers/global/update_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/global/update_controller.js b/ambari-web/app/controllers/global/update_controller.js index 45db27c..59d7eff 100644 --- a/ambari-web/app/controllers/global/update_controller.js +++ b/ambari-web/app/controllers/global/update_controller.js @@ -118,31 +118,42 @@ App.UpdateController = Em.Controller.extend({ var conditionalFields = []; var initialFields = []; - var services = [ - { - name: 'FLUME', - urlParam: 'flume/flume' - }, - { - name: 'YARN', - urlParam: 'yarn/Queue' - }, - { - name: 'HBASE', - urlParam: 'hbase/master/IsActiveMaster' - } - ]; - services.forEach(function(service) { - if (App.Service.find(service.name)) { - conditionalFields.push("host_components/metrics/" + service.urlParam); - } + var serviceSpecificParams = { + 'FLUME': "host_components/metrics/flume/flume", + 'YARN': "host_components/metrics/yarn/Queue," + + "ServiceComponentInfo/rm_metrics/cluster/activeNMcount," + + "ServiceComponentInfo/rm_metrics/cluster/unhealthyNMcount," + + "ServiceComponentInfo/rm_metrics/cluster/rebootedNMcount," + + "ServiceComponentInfo/rm_metrics/cluster/decommissionedNMcount", + 'HBASE': "host_components/metrics/hbase/master/IsActiveMaster" + + "ServiceComponentInfo/MasterStartTime," + + "ServiceComponentInfo/MasterActiveTime," + + "ServiceComponentInfo/AverageLoad," + + "ServiceComponentInfo/Revision," + + "ServiceComponentInfo/RegionsInTransition", + 'MAPREDUCE': "ServiceComponentInfo/AliveNodes," + + "ServiceComponentInfo/GrayListedNodes," + + "ServiceComponentInfo/BlackListedNodes," + + "ServiceComponentInfo/jobtracker/*," + }; + var services = App.cache['services']; + services.forEach(function (service) { + var urlParams = serviceSpecificParams[service.ServiceInfo.service_name]; + if (urlParams) { + conditionalFields.push(urlParams); + } }); var conditionalFieldsString = conditionalFields.length > 0 ? ',' + conditionalFields.join(',') : ''; var initialFieldsString = initialFields.length > 0 ? ',' + initialFields.join(',') : ''; var testUrl = App.get('isHadoop2Stack') ? '/data/dashboard/HDP2/master_components.json':'/data/dashboard/services.json'; var realUrl = '/components/?ServiceComponentInfo/category=MASTER&fields=' + - 'ServiceComponentInfo,' + + 'ServiceComponentInfo/Version,' + + 'ServiceComponentInfo/StartTime,' + + 'ServiceComponentInfo/HeapMemoryUsed,' + + 'ServiceComponentInfo/HeapMemoryMax,' + + 'ServiceComponentInfo/service_name,' + + 'host_components/HostRoles/host_name,' + 'host_components/HostRoles/state,' + 'host_components/HostRoles/passive_state,' + 'host_components/HostRoles/stale_configs,' + @@ -153,23 +164,15 @@ App.UpdateController = Em.Controller.extend({ 'host_components/metrics/mapred/jobtracker/trackers_decommissioned,' + 'host_components/metrics/cpu/cpu_wio,' + 'host_components/metrics/rpc/RpcQueueTime_avg_time,' + - 'host_components/metrics/dfs/FSNamesystem/HAState,' + - 'host_components/metrics/dfs/FSNamesystem/CapacityUsed,' + - 'host_components/metrics/dfs/FSNamesystem/CapacityTotal,' + - 'host_components/metrics/dfs/FSNamesystem/CapacityRemaining,' + - 'host_components/metrics/dfs/FSNamesystem/BlocksTotal,' + - 'host_components/metrics/dfs/FSNamesystem/CorruptBlocks,' + - 'host_components/metrics/dfs/FSNamesystem/MissingBlocks,' + - 'host_components/metrics/dfs/FSNamesystem/UnderReplicatedBlocks,' + + 'host_components/metrics/dfs/FSNamesystem/*,' + 'host_components/metrics/dfs/namenode/Version,' + - 'host_components/metrics/dfs/namenode/LiveNodes,' + - 'host_components/metrics/dfs/namenode/DeadNodes,' + 'host_components/metrics/dfs/namenode/DecomNodes,' + 'host_components/metrics/dfs/namenode/TotalFiles,' + 'host_components/metrics/dfs/namenode/UpgradeFinalized,' + 'host_components/metrics/dfs/namenode/Safemode,' + 'host_components/metrics/runtime/StartTime' + - conditionalFieldsString; + conditionalFieldsString + + '&minimal_response=true'; var servicesUrl = isInitialLoad ? this.getUrl(testUrl, realUrl + initialFieldsString) : this.getUrl(testUrl, realUrl); callback = callback || function () { http://git-wip-us.apache.org/repos/asf/ambari/blob/e3b1b09d/ambari-web/app/mappers/service_metrics_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/service_metrics_mapper.js b/ambari-web/app/mappers/service_metrics_mapper.js index 6b55084..2fc3d36 100644 --- a/ambari-web/app/mappers/service_metrics_mapper.js +++ b/ambari-web/app/mappers/service_metrics_mapper.js @@ -45,8 +45,6 @@ App.serviceMetricsMapper = App.QuickDataMapper.create({ name_node_start_time: 'nameNodeComponent.host_components[0].metrics.runtime.StartTime', jvm_memory_heap_used: 'nameNodeComponent.host_components[0].metrics.jvm.HeapMemoryUsed', jvm_memory_heap_max: 'nameNodeComponent.host_components[0].metrics.jvm.HeapMemoryMax', - live_data_nodes: 'live_data_nodes', - dead_data_nodes: 'dead_data_nodes', decommission_data_nodes: 'decommission_data_nodes', capacity_used: 'nameNodeComponent.host_components[0].metrics.dfs.FSNamesystem.CapacityUsed', capacity_total: 'nameNodeComponent.host_components[0].metrics.dfs.FSNamesystem.CapacityTotal', @@ -64,7 +62,6 @@ App.serviceMetricsMapper = App.QuickDataMapper.create({ yarnConfig: { version: 'resourceManagerComponent.ServiceComponentInfo.Version', resource_manager_node_id: 'resourceManagerComponent.host_components[0].HostRoles.host_name', - node_manager_live_nodes: 'node_manager_live_nodes', resource_manager_start_time: 'resourceManagerComponent.ServiceComponentInfo.StartTime', jvm_memory_heap_used: 'resourceManagerComponent.host_components[0].metrics.jvm.HeapMemoryUsed', jvm_memory_heap_max: 'resourceManagerComponent.host_components[0].metrics.jvm.HeapMemoryMax', @@ -386,19 +383,9 @@ App.serviceMetricsMapper = App.QuickDataMapper.create({ finalConfig = jQuery.extend(finalConfig, hdfsConfig); // Get the live, dead & decommission nodes from string json if (component.host_components[0].metrics && component.host_components[0].metrics.dfs && component.host_components[0].metrics.dfs.namenode) { - var liveNodesJson = App.parseJSON(component.host_components[0].metrics.dfs.namenode.LiveNodes); - var deadNodesJson = App.parseJSON(component.host_components[0].metrics.dfs.namenode.DeadNodes); var decommissionNodesJson = App.parseJSON(component.host_components[0].metrics.dfs.namenode.DecomNodes); } - item.live_data_nodes = []; - item.dead_data_nodes = []; item.decommission_data_nodes = []; - for (var ln in liveNodesJson) { - item.live_data_nodes.push(ln); - } - for (var dn in deadNodesJson) { - item.dead_data_nodes.push(dn); - } for (var dcn in decommissionNodesJson) { item.decommission_data_nodes.push(dcn); } @@ -432,19 +419,6 @@ App.serviceMetricsMapper = App.QuickDataMapper.create({ item.components.forEach(function (component) { if (component.ServiceComponentInfo && component.ServiceComponentInfo.component_name == "RESOURCEMANAGER") { item.resourceManagerComponent = component; - // live nodes calculation - var nmList = []; - if (component.ServiceComponentInfo.rm_metrics && component.ServiceComponentInfo.rm_metrics.cluster && component.ServiceComponentInfo.rm_metrics.cluster.nodeManagers) { - nmList = App.parseJSON(component.ServiceComponentInfo.rm_metrics.cluster.nodeManagers); - } - nmList.forEach(function (nm) { - if (nm.State === "RUNNING") { - if (!item.node_manager_live_nodes) { - item.node_manager_live_nodes = []; - } - item.node_manager_live_nodes.push(nm.HostName); - } - }); if (component.host_components[0].metrics && component.host_components[0].metrics.yarn) { var root = component.host_components[0].metrics.yarn.Queue.root; http://git-wip-us.apache.org/repos/asf/ambari/blob/e3b1b09d/ambari-web/app/models/service/hdfs.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/service/hdfs.js b/ambari-web/app/models/service/hdfs.js index 8d890f6..8dfdfd4 100644 --- a/ambari-web/app/models/service/hdfs.js +++ b/ambari-web/app/models/service/hdfs.js @@ -33,8 +33,6 @@ App.HDFSService = App.Service.extend({ nameNodeStartTime: DS.attr('number'), jvmMemoryHeapUsed: DS.attr('number'), jvmMemoryHeapMax: DS.attr('number'), - liveDataNodes: DS.hasMany('App.Host'), - deadDataNodes: DS.hasMany('App.Host'), decommissionDataNodes: DS.hasMany('App.Host'), capacityUsed: DS.attr('number'), capacityTotal: DS.attr('number'), http://git-wip-us.apache.org/repos/asf/ambari/blob/e3b1b09d/ambari-web/app/models/service/yarn.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/service/yarn.js b/ambari-web/app/models/service/yarn.js index d4c8956..6e688a7 100644 --- a/ambari-web/app/models/service/yarn.js +++ b/ambari-web/app/models/service/yarn.js @@ -24,7 +24,6 @@ App.YARNService = App.Service.extend({ nodeManagerNodes: function () { return this.get('hostComponents').filterProperty('componentName', 'NODEMANAGER'); }.property('hostComponents.@each'), - nodeManagerLiveNodes: DS.hasMany('App.Host'), nodeManagersCountActive: DS.attr('number'), nodeManagersCountUnhealthy: DS.attr('number'), nodeManagersCountRebooted: DS.attr('number'), http://git-wip-us.apache.org/repos/asf/ambari/blob/e3b1b09d/ambari-web/app/views/main/dashboard/service/hdfs.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/dashboard/service/hdfs.js b/ambari-web/app/views/main/dashboard/service/hdfs.js index 96caf49..aa8d038 100644 --- a/ambari-web/app/views/main/dashboard/service/hdfs.js +++ b/ambari-web/app/views/main/dashboard/service/hdfs.js @@ -127,18 +127,18 @@ App.MainDashboardServiceHdfsView = App.MainDashboardServiceView.extend({ summaryHeader: function () { var text = this.t("dashboard.services.hdfs.summary"); - var svc = this.get('service'); - var liveCount = svc.get('liveDataNodes').get('length'); - var totalCount = svc.get('dataNodes').get('length'); - var total = this.get('service.capacityTotal') + 0; - var remaining = this.get('service.capacityRemaining') + 0; + var service = this.get('service'); + var liveCount = service.get('dataNodes').filterProperty("workStatus", "STARTED").length; + var totalCount = service.get('dataNodes').get('length'); + var total = service.get('capacityTotal') + 0; + var remaining = service.get('capacityRemaining') + 0; var used = total - remaining; var percent = total > 0 ? ((used * 100) / total).toFixed(1) : 0; if (percent == "NaN" || percent < 0) { percent = Em.I18n.t('services.service.summary.notAvailable') + " "; } return text.format(liveCount, totalCount, percent); - }.property('service.liveDataNodes', 'service.dataNodes', 'service.capacityUsed', 'service.capacityTotal'), + }.property('[email protected]', 'service.capacityUsed', 'service.capacityTotal'), capacity: function () { var text = this.t("dashboard.services.hdfs.capacityUsed");
