You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2014/12/26 14:24:26 UTC

[3/7] ambari git commit: AMBARI-8921 Remove support for MapReduce as part of 1.3 stack. (ababiichuk)

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/controllers/wizard/step8_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step8_controller.js b/ambari-web/app/controllers/wizard/step8_controller.js
index 61d3014..a965762 100644
--- a/ambari-web/app/controllers/wizard/step8_controller.js
+++ b/ambari-web/app/controllers/wizard/step8_controller.js
@@ -1471,9 +1471,7 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
       Object.keys(service.get('configTypes')).forEach(function (type) {
         if (!this.get('serviceConfigTags').someProperty('type', type)) {
           var serviceVersionNotes = Em.I18n.t('dashboard.configHistory.table.notes.default').format(service.get('displayName'));
-          if (service.get('serviceName') === 'MAPREDUCE' && (type === 'capacity-scheduler' || type === 'mapred-queue-acls')) {
-            return;
-          } else if (type === 'core-site') {
+          if (type === 'core-site') {
             coreSiteObject.service_config_version_note = serviceVersionNotes;
             this.get('serviceConfigTags').pushObject(coreSiteObject);
           } else if (type === 'storm-site') {

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/controllers/wizard/step9_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step9_controller.js b/ambari-web/app/controllers/wizard/step9_controller.js
index 361ce30..1323451 100644
--- a/ambari-web/app/controllers/wizard/step9_controller.js
+++ b/ambari-web/app/controllers/wizard/step9_controller.js
@@ -481,7 +481,7 @@ App.WizardStep9Controller = Em.Controller.extend({
       case 'addServiceController':
         var servicesList = this.get('content.services').filterProperty('isSelected').filterProperty('isInstalled', false).mapProperty('serviceName');
         if (servicesList.contains('OOZIE')) {
-          servicesList = servicesList.concat(['HDFS', 'YARN', 'MAPREDUCE', 'MAPREDUCE2']);
+          servicesList = servicesList.concat(['HDFS', 'YARN', 'MAPREDUCE2']);
         }
         name = 'common.services.update';
         data = {

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/data/service_graph_config.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/service_graph_config.js b/ambari-web/app/data/service_graph_config.js
index be269c6..1ddb7ae 100644
--- a/ambari-web/app/data/service_graph_config.js
+++ b/ambari-web/app/data/service_graph_config.js
@@ -51,17 +51,6 @@ App.service_graph_config = {
 		'YARN_JVMHeap'
 	],
 
-	'mapreduce': [
-		'MapReduce_JobsStatus',
-		'MapReduce_TasksRunningWaiting',
-		'MapReduce_MapSlots',
-		'MapReduce_ReduceSlots',
-		'MapReduce_GC',
-		'MapReduce_RPC',
-		'MapReduce_JVMHeap',
-		'MapReduce_JVMThreads'
-	],
-
 	'hbase': [
 		'HBASE_ClusterRequests',
 		'HBASE_RegionServerReadWriteRequests',

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/mappers/components_state_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/components_state_mapper.js b/ambari-web/app/mappers/components_state_mapper.js
index 803bba9..d6e1482 100644
--- a/ambari-web/app/mappers/components_state_mapper.js
+++ b/ambari-web/app/mappers/components_state_mapper.js
@@ -52,11 +52,6 @@ App.componentsStateMapper = App.QuickDataMapper.create({
       node_managers_installed: 'INSTALLED_PATH',
       node_managers_total: 'TOTAL_PATH'
     },
-    'TASKTRACKER': {
-      task_trackers_started: 'STARTED_PATH',
-      task_trackers_installed: 'INSTALLED_PATH',
-      task_trackers_total: 'TOTAL_PATH'
-    },
     'HBASE_REGIONSERVER': {
       region_servers_started: 'STARTED_PATH',
       region_servers_installed: 'INSTALLED_PATH',

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/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 28b001a..d341b46 100644
--- a/ambari-web/app/mappers/service_metrics_mapper.js
+++ b/ambari-web/app/mappers/service_metrics_mapper.js
@@ -95,34 +95,6 @@ App.serviceMetricsMapper = App.QuickDataMapper.create({
     version: 'jobHistoryServerComponent.ServiceComponentInfo.Version',
     map_reduce2_clients: 'map_reduce2_clients'
   },
-  mapReduceConfig: {
-    version: 'jobTrackerComponent.ServiceComponentInfo.Version',
-    job_tracker_start_time: 'jobTrackerComponent.ServiceComponentInfo.StartTime',
-    job_tracker_heap_used: 'jobTrackerComponent.ServiceComponentInfo.HeapMemoryUsed',
-    job_tracker_heap_max: 'jobTrackerComponent.ServiceComponentInfo.HeapMemoryMax',
-    alive_trackers: 'alive_trackers',
-    black_list_trackers: 'black_list_trackers',
-    gray_list_trackers: 'gray_list_trackers',
-    map_slots: 'map_slots',
-    reduce_slots: 'reduce_slots',
-    jobs_submitted: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.jobs_submitted',
-    jobs_completed: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.jobs_completed',
-    jobs_running: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.jobs_running',
-    map_slots_occupied: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.occupied_map_slots',
-    map_slots_reserved: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.reserved_map_slots',
-    reduce_slots_occupied: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.occupied_reduce_slots',
-    reduce_slots_reserved: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.reserved_reduce_slots',
-    maps_running: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.running_maps',
-    maps_waiting: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.waiting_maps',
-    reduces_running: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.running_reduces',
-    reduces_waiting: 'jobTrackerComponent.ServiceComponentInfo.jobtracker.waiting_reduces',
-    trackers_decommissioned: 'jobTrackerComponent.host_components[0].metrics.mapred.jobtracker.trackers_decommissioned',
-    job_tracker_cpu: 'jobTrackerComponent.host_components[0].metrics.cpu.cpu_wio',
-    job_tracker_rpc: 'jobTrackerComponent.host_components[0].metrics.rpc.RpcQueueTime_avg_time',
-    task_trackers_started: 'task_trackers_started',
-    task_trackers_installed: 'task_trackers_installed',
-    task_trackers_total: 'task_trackers_total'
-  },
   hbaseConfig: {
     version: 'masterComponent.ServiceComponentInfo.Version',
     master_start_time: 'masterComponent.ServiceComponentInfo.MasterStartTime',
@@ -244,11 +216,6 @@ App.serviceMetricsMapper = App.QuickDataMapper.create({
           finalJson.rand = Math.random();
           result.push(finalJson);
           App.store.load(App.HDFSService, finalJson);
-        } else if (item && item.ServiceInfo && item.ServiceInfo.service_name == "MAPREDUCE") {
-          finalJson = this.mapreduceMapper(item);
-          finalJson.rand = Math.random();
-          result.push(finalJson);
-          App.store.load(App.MapReduceService, finalJson);
         } else if (item && item.ServiceInfo && item.ServiceInfo.service_name == "HBASE") {
           finalJson = this.hbaseMapper(item);
           finalJson.rand = Math.random();
@@ -545,57 +512,6 @@ App.serviceMetricsMapper = App.QuickDataMapper.create({
 
     return finalJson;
   },
-  mapreduceMapper: function (item) {
-    // Change the JSON so that it is easy to map
-    var result = [];
-    var finalConfig = jQuery.extend({}, this.config);
-    var mapReduceConfig = this.mapReduceConfig;
-    item.components.forEach(function (component) {
-      if (component.ServiceComponentInfo && component.ServiceComponentInfo.component_name == "JOBTRACKER") {
-        item.jobTrackerComponent = component;
-        finalConfig = jQuery.extend(finalConfig, mapReduceConfig);
-        // Get the live, gray & black nodes from string json
-        item.map_slots = 0;
-        item.reduce_slots = 0;
-        var liveNodesJson = App.parseJSON(component.ServiceComponentInfo.AliveNodes);
-        var grayNodesJson = App.parseJSON(component.ServiceComponentInfo.GrayListedNodes);
-        var blackNodesJson = App.parseJSON(component.ServiceComponentInfo.BlackListedNodes);
-        item.alive_trackers = [];
-        item.gray_list_trackers = [];
-        item.black_list_trackers = [];
-        if (liveNodesJson != null) {
-          liveNodesJson.forEach(function (nj) {
-            item.alive_trackers.push('TASKTRACKER' + '_' + nj.hostname);
-            if (nj.slots && nj.slots.map_slots)
-              item.map_slots += nj.slots.map_slots;
-            if (nj.slots && nj.slots.map_slots_used)
-              item.map_slots_used += nj.slots.map_slots_used;
-            if (nj.slots && nj.slots.reduce_slots)
-              item.reduce_slots += nj.slots.reduce_slots;
-            if (nj.slots && nj.slots.reduce_slots_used)
-              item.reduce_slots_used += nj.slots.reduce_slots_used;
-          });
-        }
-        if (grayNodesJson != null) {
-          grayNodesJson.forEach(function (nj) {
-            item.gray_list_trackers.push('TASKTRACKER' + '_' + nj.hostname);
-          });
-        }
-        if (blackNodesJson != null) {
-          blackNodesJson.forEach(function (nj) {
-            item.black_list_trackers.push('TASKTRACKER' + '_' + nj.hostname);
-          });
-        }
-      } else if (component.ServiceComponentInfo && component.ServiceComponentInfo.component_name == "HISTORYSERVER") {
-        item.jobHistoryServerComponent = component;
-        finalConfig = jQuery.extend(finalConfig, mapReduceConfig);
-      }
-    });
-    // Map
-    var finalJson = this.parseIt(item, finalConfig);
-    finalJson.quick_links = [5, 6, 7, 8, 9, 10, 11, 12];
-    return finalJson;
-  },
   hbaseMapper: function (item) {
     // Change the JSON so that it is easy to map
     var finalConfig = jQuery.extend({}, this.config);

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index d6243a8..11dd203 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -342,7 +342,6 @@ Em.I18n.translations = {
   'services.ganglia.description':'Ganglia Metrics Collection system',
   'services.hdfs.description':'Apache Hadoop Distributed File System',
   'services.glusterfs.description':'Apache Hadoop Compatible File System (must be installed manually)',
-  'services.mapreduce.description':'Apache Hadoop Distributed Processing Framework',
   'services.sqoop.description':'Tool for transferring bulk data between Apache Hadoop and structured data stores such as relational databases',
   'services.pig.description':'Scripting platform for analyzing large datasets',
   'services.hive.description':'Data warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service',
@@ -1180,7 +1179,6 @@ Em.I18n.translations = {
   'admin.security.enable.popup.header': 'Add security',
   'admin.security.disable.popup.header': 'Remove security',
   'admin.security.disable.popup.body': 'Kerberos security will be disabled on the cluster',
-  'admin.security.disable.popup.body.warning' : 'Note: Before proceeding, you need to manually remove all directories listed in the mapred.local.dir property in mapred-site.xml on all TaskTracker hosts; otherwise, MapReduce will not run properly after disabling security.',
   'admin.addSecurity.header': 'Enable Security Wizard',
   'admin.security.step1.header': 'Get Started',
   'admin.security.step2.header': 'Configure Services',
@@ -1520,38 +1518,18 @@ Em.I18n.translations = {
   'services.service.info.metrics.hdfs.spaceUtilization.displayNames.capacityTotal':'Capacity Total',
   'services.service.info.metrics.hdfs.spaceUtilization.displayNames.capacityNonDFSUsed':'Non DFS Capacity Used',
 
-  'services.service.info.metrics.mapreduce.gc':'Garbage Collection',
-  'services.service.info.metrics.mapreduce.gc.displayNames.gcTimeMillis':'Time',
-  'services.service.info.metrics.mapreduce.jobsStatus':'Jobs Status',
-  'services.service.info.metrics.mapreduce.jobsStatus.displayNames.jobsRunning':'Running',
-  'services.service.info.metrics.mapreduce.jobsStatus.displayNames.jobsFailed':'Failed',
-  'services.service.info.metrics.mapreduce.jobsStatus.displayNames.jobsCompleted':'Succeeded',
-  'services.service.info.metrics.mapreduce.jobsStatus.displayNames.jobsPreparing':'Preparing',
-  'services.service.info.metrics.mapreduce.jobsStatus.displayNames.jobsSubmitted':'Submitted',
-  'services.service.info.metrics.mapreduce.jvmHeap':'JVM Memory Status',
-  'services.service.info.metrics.mapreduce.jvmHeap.displayNames.memHeapCommittedM':'Heap Memory Committed',
-  'services.service.info.metrics.mapreduce.jvmHeap.displayNames.memNonHeapUsedM':'Non Heap Memory Used',
-  'services.service.info.metrics.mapreduce.jvmHeap.displayNames.memHeapUsedM':'Heap Memory Used',
-  'services.service.info.metrics.mapreduce.jvmHeap.displayNames.memNonHeapCommittedM':'Non Heap Memory Committed',
-  'services.service.info.metrics.mapreduce.jvmThreads':'JVM Thread Status',
-  'services.service.info.metrics.mapreduce.jvmThreads.displayNames.threadsBlocked':'Threads Blocked',
-  'services.service.info.metrics.mapreduce.jvmThreads.displayNames.threadsWaiting':'Threads Waiting',
-  'services.service.info.metrics.mapreduce.jvmThreads.displayNames.threadsTimedWaiting':'Threads Timed Waiting',
-  'services.service.info.metrics.mapreduce.jvmThreads.displayNames.threadsRunnable':'Threads Runnable',
-  'services.service.info.metrics.mapreduce.mapSlots':'Map Slots Utilization',
-  'services.service.info.metrics.mapreduce.mapSlots.displayNames.reservedMapSlots':'Map Slots Reserved',
-  'services.service.info.metrics.mapreduce.mapSlots.displayNames.occupiedMapSlots':'Map Slots Occupied',
-  'services.service.info.metrics.mapreduce.reduceSlots':'Reduce Slots Utilization',
-  'services.service.info.metrics.mapreduce.reduceSlots.displayNames.reservedReduceSlots':'Reduce Slots Reserved',
-  'services.service.info.metrics.mapreduce.reduceSlots.displayNames.occupiedReduceSlots':'Reduce Slots Occupied',
-  'services.service.info.metrics.mapreduce.rpc':'RPC',
-  'services.service.info.metrics.mapreduce.rpc.displayNames.RpcQueueTimeAvgTime':'Queue Average Wait Time',
-  'services.service.info.metrics.mapreduce.tasksRunningWaiting':'Tasks (Running/Waiting)',
-  'services.service.info.metrics.mapreduce.tasksRunningWaiting.displayNames.runningMaps':'Running Map Tasks',
-  'services.service.info.metrics.mapreduce.tasksRunningWaiting.displayNames.runningReduces':'Running Reduce Tasks',
-  'services.service.info.metrics.mapreduce.tasksRunningWaiting.displayNames.waitingMaps':'Waiting Map Tasks',
-  'services.service.info.metrics.mapreduce.tasksRunningWaiting.displayNames.waitingReduces':'Waiting Reduce Tasks',
-
+  'services.service.info.metrics.yarn.jvmHeap':'JVM Memory Status',
+  'services.service.info.metrics.yarn.jvmHeap.displayNames.memHeapCommittedM':'Heap Memory Committed',
+  'services.service.info.metrics.yarn.jvmHeap.displayNames.memNonHeapUsedM':'Non Heap Memory Used',
+  'services.service.info.metrics.yarn.jvmHeap.displayNames.memHeapUsedM':'Heap Memory Used',
+  'services.service.info.metrics.yarn.jvmHeap.displayNames.memNonHeapCommittedM':'Non Heap Memory Committed',
+  'services.service.info.metrics.yarn.jvmThreads':'JVM Thread Status',
+  'services.service.info.metrics.yarn.jvmThreads.displayNames.threadsBlocked':'Threads Blocked',
+  'services.service.info.metrics.yarn.jvmThreads.displayNames.threadsWaiting':'Threads Waiting',
+  'services.service.info.metrics.yarn.jvmThreads.displayNames.threadsTimedWaiting':'Threads Timed Waiting',
+  'services.service.info.metrics.yarn.jvmThreads.displayNames.threadsRunnable':'Threads Runnable',
+  'services.service.info.metrics.yarn.rpc':'RPC',
+  'services.service.info.metrics.yarn.rpc.displayNames.RpcQueueTimeAvgTime':'Queue Average Wait Time',
   'services.service.info.metrics.yarn.gc': 'Garbage Collection',
   'services.service.info.metrics.yarn.gc.displayNames.gcTimeMillis':'Time',
   'services.service.info.metrics.yarn.allocated.memory': 'Cluster Memory',
@@ -1617,7 +1595,6 @@ Em.I18n.translations = {
   'services.service.config.saved.message':'Service configuration changes saved successfully.',
   'services.service.config.saving.message':'Configuration changes are being saved...',
   'services.service.config.msgServiceStop':'Could not save configuration changes.  Please stop the service first. You will be able to save configuration changes after all of its components are stopped.',
-  'services.service.config.msgHDFSMapRServiceStop':'Could not save configuration changes.  Please stop both HDFS and MapReduce first.  You will be able to save configuration changes after all HDFS and MapReduce components are stopped.',
   'services.service.config.failCreateConfig' : 'Failure in creating service configuration',
   'services.service.config.failSaveConfig':'Failure in saving service configuration',
   'services.service.config.failSaveConfigHostOverrides':'Failure in saving service configuration overrides',
@@ -1854,33 +1831,6 @@ Em.I18n.translations = {
   'services.mapreduce2.history.unknown': 'History server status is unknown',
   'services.mapreduce2.smokeTest.requirement': 'MapReduce2 smoke test requires YARN service be started',
 
-  'services.mapReduce.config.addQueue':'Add Queue',
-  'services.mapReduce.config.editQueue':'Edit Queue',
-  'services.mapReduce.config.capacitySchedulerXml':'Custom capacity-scheduler.xml',
-  'services.mapReduce.config.queue.header':'Queues',
-  'services.mapReduce.config.queue.name':'Queue Name',
-  'services.mapReduce.config.queue.groups':'Groups',
-  'services.mapReduce.config.queue.capacity':'Capacity',
-  'services.mapReduce.config.queue.maxCapacity':'Max Capacity',
-  'services.mapReduce.config.queue.minUserLimit':'Min User Limit',
-  'services.mapReduce.config.queue.userLimitFactor':'User Limit Factor',
-  'services.mapReduce.config.queue.supportsPriority': 'Supports priority',
-  'services.mapReduce.config.queue.adminUsers':'Admin Users',
-  'services.mapReduce.config.queue.adminGroups':'Admin Groups',
-  'services.mapReduce.config.queue.maxActiveTasks':'Max active initialized tasks',
-  'services.mapReduce.config.queue.maxActiveTasksPerUser':'Max active initialized tasks per user',
-  'services.mapReduce.config.queue.initAcceptJobsFactor':'Init accept jobs factor',
-  'services.mapReduce.extraConfig.queue.name':'Queue name',
-  'services.mapReduce.description.queue.name':'Name of the queue',
-  'services.mapReduce.description.queue.submit.user':"Comma separated list of usernames that are allowed to submit jobs to the queue. " +
-    "If set to the special value '*', it means all users are allowed to submit jobs.",
-  'services.mapReduce.description.queue.admin.user':"Comma separated list of usernames that are allowed to delete jobs or modify job's priority for " +
-    "jobs not owned by the current user in the queue.  If set to the special value '*', it means all users are " +
-    "allowed to do this operation.",
-  'services.mapReduce.description.queue.submit.group':'Comma separated list of group names that are allowed to submit jobs to the queue.',
-  'services.mapReduce.description.queue.admin.group':"Comma separated list of group names that are allowed to delete jobs or modify job's priority " +
-    "for jobs not owned by the current user in the queue.",
-
   'services.tez.client': 'Tez client',
   'services.tez.clients': 'Tez clients',
   'services.pig.client': 'Pig client',
@@ -2139,7 +2089,6 @@ Em.I18n.translations = {
   'charts.heatmap.item.host.disk':'Disk Space Used',
   'charts.heatmap.item.host.process':'Total Running Processes',
   'charts.heatmap.category.hdfs':'HDFS',
-  'charts.heatmap.category.mapreduce': 'MapReduce',
   'charts.heatmap.category.yarn': 'YARN',
   'charts.heatmap.category.hbase': 'HBase',
   'charts.heatmap.unknown': 'Unknown',
@@ -2150,12 +2099,8 @@ Em.I18n.translations = {
   'charts.heatmap.metrics.DFSGarbageCollection' :'HDFS Garbage Collection Time',
   'charts.heatmap.metrics.DFSMemHeapUsed' :'HDFS JVM Heap Memory Used',
   'charts.heatmap.metrics.diskSpaceUsed' :'Host Disk Space Used %',
-  'charts.heatmap.metrics.MapReduceGCTime' :'MapReduce Garbage Collection Time',
   'charts.heatmap.metrics.YarnGCTime' :'YARN Garbage Collection Time',
-  'charts.heatmap.metrics.mapsRunning' :'MapReduce Maps Running',
-  'charts.heatmap.metrics.MRMemHeapUsed' :'MapReduce JVM Heap Memory Used',
   'charts.heatmap.metrics.YarnMemHeapUsed' :'YARN JVM Heap Memory Used',
-  'charts.heatmap.metrics.reducesRunning' :'MapReduce Reduces Running',
 
   'charts.heatmap.metrics.memoryUsed' :'Host Memory Used %',
   'charts.heatmap.metrics.processRun' :'Total Running Processes',
@@ -2202,26 +2147,16 @@ Em.I18n.translations = {
   'dashboard.widgets.HDFSDiskUsage.nonDFSused': 'non DFS used',
   'dashboard.widgets.HDFSDiskUsage.remaining': 'remaining',
   'dashboard.widgets.HDFSDiskUsage.info': '{0} ({1}%)',
-  'dashboard.widgets.JobTrackerHeap': 'JobTracker Heap',
-  'dashboard.widgets.JobTrackerCpu': 'JobTracker CPU WIO',
-  'dashboard.widgets.JobTrackerCapacity': 'JobTracker Capacity',
   'dashboard.widgets.DataNodeUp': 'DataNodes Live',
-  'dashboard.widgets.TaskTrackerUp': 'TaskTrackers Live',
   'dashboard.widgets.SuperVisorUp': 'Supervisors Live',
   'dashboard.widgets.FlumeAgentUp': 'Flume Live',
   'dashboard.widgets.NameNodeRpc': 'NameNode RPC',
-  'dashboard.widgets.JobTrackerRpc': 'JobTracker RPC',
-  'dashboard.widgets.MapReduceSlots': 'MapReduce Slots',
-  'dashboard.widgets.mapSlots': 'Map Slots',
-  'dashboard.widgets.reduceSlots': 'Reduce Slots',
   'dashboard.widgets.nothing': 'No Widget to Add',
   'dashboard.widgets.NameNodeUptime': 'NameNode Uptime',
-  'dashboard.widgets.JobTrackerUptime': 'JobTracker Uptime',
   'dashboard.widgets.HDFSLinks': 'HDFS Links',
   'dashboard.widgets.HDFSLinks.activeNameNode': 'Active NameNode',
   'dashboard.widgets.HDFSLinks.standbyNameNode': 'Standby NameNode',
   'dashboard.widgets.HDFSLinks.standbyNameNodes': '2 Standby NameNodes',
-  'dashboard.widgets.MapReduceLinks': 'MapReduce Links',
   'dashboard.widgets.HBaseLinks': 'HBase Links',
   'dashboard.widgets.HBaseAverageLoad': 'HBase Ave Load',
   'dashboard.widgets.HBaseMasterHeap': 'HBase Master Heap',
@@ -2295,29 +2230,6 @@ Em.I18n.translations = {
   'dashboard.services.yarn.queues': 'Queues',
   'dashboard.services.yarn.queues.msg': '{0} Queues',
 
-  'dashboard.services.mapreduce.summary':'{0} of {1} trackers live, {2} jobs running',
-  'dashboard.services.mapreduce.taskTrackers':'TaskTrackers',
-  'dashboard.services.mapreduce.taskTrackerCounts':'TaskTrackers Status',
-  'dashboard.services.mapreduce.trackers':'Trackers',
-  'dashboard.services.mapreduce.nodes.blacklist':'blacklist',
-  'dashboard.services.mapreduce.nodes.graylist':'graylist',
-  'dashboard.services.mapreduce.slotCapacity':'Total Slots Capacity',
-  'dashboard.services.mapreduce.trackersSummary':'{0}/{1}',
-  'dashboard.services.mapreduce.jobs':'Total Jobs',
-  'dashboard.services.mapreduce.jobsSummary':'{0} submitted / {1} completed',
-  'dashboard.services.mapreduce.mapSlots':'Map Slots',
-  'dashboard.services.mapreduce.mapSlotsSummary':'{0} occupied / {1} reserved',
-  'dashboard.services.mapreduce.reduceSlots':'Reduce Slots',
-  'dashboard.services.mapreduce.tasks.maps':'Tasks: Maps',
-  'dashboard.services.mapreduce.tasks.reduces':'Tasks: Reduces',
-  'dashboard.services.mapreduce.reduceSlotsSummary':'{0} occupied / {1} reserved',
-  'dashboard.services.mapreduce.tasksSummary':'{0} running / {1} waiting',
-  'dashboard.services.mapreduce.slotCapacitySummary':'{0} maps / {1} reduces / {2} avg per node',
-  'dashboard.services.mapreduce.jobTrackerHeap':'JobTracker Heap',
-  'dashboard.services.mapreduce.jobTrackerHeapSummary':'{0} of {1} ({2}% used)',
-  'dashboard.services.mapreduce.jobTrackerUptime':'Job Trackers Uptime',
-  'dashboard.services.mapreduce.chart.label':'Jobs Running',
-
   'dashboard.services.flume.summary.title':'Flume installed on {0} host{1} ({2} agent{3})',
   'dashboard.services.flume.summary.configure':'Configure Agents',
   'dashboard.services.flume.agentsLabel': 'Flume',

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/models.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models.js b/ambari-web/app/models.js
index 2ee85df..6081649 100644
--- a/ambari-web/app/models.js
+++ b/ambari-web/app/models.js
@@ -39,7 +39,6 @@ require('models/service_config');
 require('models/service_audit');
 require('models/service/hdfs');
 require('models/service/yarn');
-require('models/service/mapreduce');
 require('models/service/mapreduce2');
 require('models/service/hbase');
 require('models/service/flume');

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/models/alert.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/alert.js b/ambari-web/app/models/alert.js
index 2886dff..0f0b211 100644
--- a/ambari-web/app/models/alert.js
+++ b/ambari-web/app/models/alert.js
@@ -166,8 +166,6 @@ App.Alert = Em.Object.extend({
     if (this.get('serviceType')) {
       var type = this.get('serviceType').toLowerCase();
       switch (type) {
-        case 'mapreduce':
-          return 'MapReduce';
         case 'hdfs':
           return 'HDFS';
         case 'hbase':
@@ -190,8 +188,6 @@ App.Alert = Em.Object.extend({
     if (this.get('serviceType')) {
       var type = this.get('serviceType').toLowerCase();
       switch (type) {
-        case 'mapreduce':
-          return '#/main/services/MAPREDUCE/summary';
         case 'hdfs':
           return '#/main/services/HDFS/summary';
         case 'hbase':

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/models/quick_links.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/quick_links.js b/ambari-web/app/models/quick_links.js
index 260f4a7..9514a3a 100644
--- a/ambari-web/app/models/quick_links.js
+++ b/ambari-web/app/models/quick_links.js
@@ -87,109 +87,6 @@ App.QuickLinks.FIXTURES = [
     default_https_port: 50470
   },
   {
-    id:5,
-    label:'JobTracker UI',
-    url:'%@://%@:%@/jobtracker.jsp',
-    service_id: 'MAPREDUCE',
-    template:'%@://%@:%@/jobtracker.jsp',
-    http_config: 'mapred.job.tracker.http.address',
-    https_config: 'mapred.job.tracker.https.address',
-    site: 'mapred-site',
-    regex: portRegex,
-    default_http_port: 50030,
-    default_https_port: 50035
-  },
-  {
-    id:6,
-    label:'Scheduling Info',
-    url:'%@://%@:%@/scheduler',
-    service_id: 'MAPREDUCE',
-    template:'%@://%@:%@/scheduler',
-    http_config: 'mapred.job.tracker.http.address',
-    https_config: 'mapred.job.tracker.https.address',
-    site: 'mapred-site',
-    regex: portRegex,
-    default_http_port: 50030,
-    default_https_port: 50035
-  },
-  {
-    id:7,
-    label:'Running Jobs',
-    url:'%@://%@:%@/jobtracker.jsp#running_jobs',
-    service_id: 'MAPREDUCE',
-    template:'%@://%@:%@/jobtracker.jsp#running_jobs',
-    http_config: 'mapred.job.tracker.http.address',
-    https_config: 'mapred.job.tracker.https.address',
-    site: 'mapred-site',
-    regex: portRegex,
-    default_http_port: 50030,
-    default_https_port: 50035
-  },
-  {
-    id:8,
-    label:'Retired Jobs',
-    url:'%@://%@:%@/jobtracker.jsp#retired_jobs',
-    service_id: 'MAPREDUCE',
-    template:'%@://%@:%@/jobtracker.jsp#retired_jobs',
-    http_config: 'mapred.job.tracker.http.address',
-    https_config: 'mapred.job.tracker.https.address',
-    site: 'mapred-site',
-    regex: portRegex,
-    default_http_port: 50030,
-    default_https_port: 50035
-  },
-  {
-    id:9,
-    label:'JobHistory Server',
-    url:'%@://%@:%@/jobhistoryhome.jsp',
-    service_id: 'MAPREDUCE',
-    template:'%@://%@:%@/jobhistoryhome.jsp',
-    http_config: 'mapreduce.history.server.http.address',
-    site: 'mapred-site',
-    regex: portRegex,
-    default_http_port: 51111
-  },
-
-  {
-    id:10,
-    label:'JobTracker Logs',
-    url:'%@://%@:%@/logs',
-    service_id: 'MAPREDUCE',
-    template:'%@://%@:%@/logs',
-    http_config: 'mapred.job.tracker.http.address',
-    https_config: 'mapred.job.tracker.https.address',
-    site: 'mapred-site',
-    regex: portRegex,
-    default_http_port: 50030,
-    default_https_port: 50035
-  },
-  {
-    id:11,
-    label:'JobTracker JMX',
-    url:'%@://%@:%@/jmx',
-    service_id: 'MAPREDUCE',
-    template:'%@://%@:%@/jmx',
-    http_config: 'mapred.job.tracker.http.address',
-    https_config: 'mapred.job.tracker.https.address',
-    site: 'mapred-site',
-    regex: portRegex,
-    default_http_port: 50030,
-    default_https_port: 50035
-  },
-  {
-    id:12,
-    label:'Thread Stacks',
-    url:'%@://%@:%@/stacks',
-    service_id: 'MAPREDUCE',
-    template:'%@://%@:%@/stacks',
-    http_config: 'mapred.job.tracker.http.address',
-    https_config: 'mapred.job.tracker.https.address',
-    site: 'mapred-site',
-    regex: portRegex,
-    default_http_port: 50030,
-    default_https_port: 50035
-  },
-  {
     id:13,
     label:'HBase Master UI',
     url:'%@://%@:%@/master-status',

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/models/service.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/service.js b/ambari-web/app/models/service.js
index 5e032dd..69fa446 100644
--- a/ambari-web/app/models/service.js
+++ b/ambari-web/app/models/service.js
@@ -178,7 +178,6 @@ App.Service.Health = {
  */
   App.Service.extendedModel = {
   'HDFS': 'HDFSService',
-  'MAPREDUCE': 'MapReduceService',
   'HBASE': 'HBaseService',
   'YARN': 'YARNService',
   'MAPREDUCE2': 'MapReduce2Service',

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/models/service/mapreduce.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/service/mapreduce.js b/ambari-web/app/models/service/mapreduce.js
deleted file mode 100644
index 9c35f54..0000000
--- a/ambari-web/app/models/service/mapreduce.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with this
- * work for additional information regarding copyright ownership. The ASF
- * licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-var App = require('app');
-
-App.MapReduceService = App.Service.extend({
-  version: DS.attr('string'),
-  jobHistoryServer: function () {
-    return this.get('hostComponents').findProperty('componentName', 'HISTORYSERVER');
-  }.property('hostComponents'),
-  jobTracker: function () {
-    return this.get('hostComponents').findProperty('componentName', 'JOBTRACKER');
-  }.property('hostComponents'),
-  taskTrackersStarted: DS.attr('number'),
-  taskTrackersInstalled: DS.attr('number'),
-  taskTrackersTotal: DS.attr('number'),
-  jobTrackerStartTime: DS.attr('number'),
-  jobTrackerHeapUsed: DS.attr('number'),
-  jobTrackerHeapMax: DS.attr('number'),
-  aliveTrackers: DS.hasMany('App.HostComponent'),
-  blackListTrackers: DS.hasMany('App.HostComponent'),
-  grayListTrackers: DS.hasMany('App.HostComponent'),
-  mapSlots: DS.attr('number'),
-  reduceSlots: DS.attr('number'),
-  jobsSubmitted: DS.attr('number'),
-  jobsCompleted: DS.attr('number'),
-  jobsRunning: DS.attr('number'),
-  mapSlotsOccupied: DS.attr('number'),
-  mapSlotsReserved: DS.attr('number'),
-  reduceSlotsOccupied: DS.attr('number'),
-  reduceSlotsReserved: DS.attr('number'),
-  mapsRunning: DS.attr('number'),
-  mapsWaiting: DS.attr('number'),
-  reducesRunning: DS.attr('number'),
-  reducesWaiting: DS.attr('number'),
-  trackersDecommissioned: DS.attr('number'),
-  jobTrackerCpu: DS.attr('number'),
-  jobTrackerRpc: DS.attr('number')
-});
-
-App.MapReduceService.FIXTURES = [];

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/models/stack_service.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/stack_service.js b/ambari-web/app/models/stack_service.js
index 087b208..ae60020 100644
--- a/ambari-web/app/models/stack_service.js
+++ b/ambari-web/app/models/stack_service.js
@@ -175,7 +175,6 @@ App.StackService.FIXTURES = [];
 App.StackService.displayOrder = [
   'HDFS',
   'GLUSTERFS',
-  'MAPREDUCE',
   'MAPREDUCE2',
   'YARN',
   'TEZ',
@@ -246,14 +245,6 @@ App.StackService.configCategories = function () {
         App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
       ]);
       break;
-    case 'MAPREDUCE':
-      serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'HISTORYSERVER', displayName: 'History Server'}),
-        App.ServiceConfigCategory.create({ name: 'JOBTRACKER', displayName: 'JobTracker'}),
-        App.ServiceConfigCategory.create({ name: 'TASKTRACKER', displayName: 'TaskTracker'}),
-        App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
-      ]);
-      break;
     case 'YARN':
       serviceConfigCategories.pushObjects([
         App.ServiceConfigCategory.create({ name: 'RESOURCEMANAGER', displayName: 'Resource Manager'}),

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/templates/main/admin/security/notify_security_off_popup.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/security/notify_security_off_popup.hbs b/ambari-web/app/templates/main/admin/security/notify_security_off_popup.hbs
index 240941e..a68102a 100644
--- a/ambari-web/app/templates/main/admin/security/notify_security_off_popup.hbs
+++ b/ambari-web/app/templates/main/admin/security/notify_security_off_popup.hbs
@@ -18,8 +18,4 @@
 
 <div class="alert">
   {{t admin.security.disable.popup.body}}
-  {{#if view.isMapReduceInstalled}}
-    <br />
-    {{t admin.security.disable.popup.body.warning}}
-  {{/if}}
 </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/templates/main/dashboard/widgets/mapreduce_links.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/dashboard/widgets/mapreduce_links.hbs b/ambari-web/app/templates/main/dashboard/widgets/mapreduce_links.hbs
deleted file mode 100644
index 13d6f41..0000000
--- a/ambari-web/app/templates/main/dashboard/widgets/mapreduce_links.hbs
+++ /dev/null
@@ -1,67 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-<div class="links">
-  <ul>
-    <li class="thumbnail row">
-      <a {{bindAttr class=":corner-icon :span1 view.parentView.isMoving:hidden"}} href="#" {{action deleteWidget target="view"}}>
-        <i class="icon-remove-sign icon-large"></i>
-      </a>
-      <div class="caption span10"> {{view.title}}</div>
-
-      <div class="widget-content" >
-        <table>
-          <!--jobTracker-->
-          <tr>
-            <td><a href="#" {{action showDetails view.model.jobTracker.host}}>{{t services.service.summary.jobTracker}}</a></td>
-          </tr>
-          <!--taskTrackers-->
-          <tr>
-            <td><a href="#" {{action filterHosts view.component}}>{{view.model.taskTrackersTotal}} {{t dashboard.services.mapreduce.taskTrackers}}</a></td>
-          </tr>
-          <!--jobTracker Web UI-->
-          <tr>
-            <td><a {{bindAttr href="view.webUrl"}} target="_blank">{{t services.service.summary.jobTrackerWebUI}}</a></td>
-          </tr>
-        </table>
-      </div>
-
-      <div class="link-button">
-          {{#if view.model.quickLinks.length}}
-            {{#view App.QuickViewLinks contentBinding="view.model"}}
-              {{#if view.isLoaded}}
-                <div class="btn-group">
-                  <a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
-                    {{t common.more}}
-                    <span class="caret"></span>
-                  </a>
-                  <ul class="dropdown-menu">
-                    {{#each view.quickLinks}}
-                      <li><a {{bindAttr href="url"}} target="_blank">{{label}}</a></li>
-                    {{/each}}
-                  </ul>
-                </div>
-              {{else}}
-                <div class="spinner"></div>
-              {{/if}}
-            {{/view}}
-          {{/if}}
-      </div>
-    </li>
-  </ul>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/templates/main/dashboard/widgets/mapreduce_slots.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/dashboard/widgets/mapreduce_slots.hbs b/ambari-web/app/templates/main/dashboard/widgets/mapreduce_slots.hbs
deleted file mode 100644
index 90b8c27..0000000
--- a/ambari-web/app/templates/main/dashboard/widgets/mapreduce_slots.hbs
+++ /dev/null
@@ -1,56 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-<div class="has-hidden-info">
-  <ul>
-    <li class="thumbnail row" >
-      <a {{bindAttr class=":corner-icon :span1 view.parentView.isMoving:hidden"}} {{action deleteWidget target="view"}}><i class="icon-remove-sign icon-large"></i></a>
-      <div class="caption span10 slots-caption"> {{view.title}}</div>
-
-      <div {{bindAttr class=":hidden-info-general view.hiddenInfoClass"}}>
-        <table align="center">
-          {{#each line in view.hiddenInfo}}
-            <tr><td>{{line}}</td></tr>{{/each}}
-        </table>
-      </div>
-
-      {{#if view.isViewExist}}
-        <div class="widget-content row-fluid" id="map-reduce-slots-text" >
-          <ul class="span12">
-            <div class="span3"> {{t dashboard.widgets.mapSlots}}</div>
-            <div class="progress span5" id="map-reduce-slots-bar1">
-              <div class="bar bar-success" {{bindAttr style="view.map_occupied"}}></div>
-              <div class="bar bar-warning" {{bindAttr style="view.map_reserved"}}></div>
-              </div>
-            <div class="span3" id="map-reduce-slots-num1"> {{view.map_display_text}}</div>
-          </ul>
-          <ul class="span12">
-            <div class="span3"> {{t dashboard.widgets.reduceSlots}}</div>
-            <div class="progress span5" id="map-reduce-slots-bar2">
-              <div class="bar bar-success" {{bindAttr style="view.reduce_occupied"}}></div>
-              <div class="bar bar-warning" {{bindAttr style="view.reduce_reserved"}}></div>
-              </div>
-            <div class="span3" id="map-reduce-slots-num2"> {{view.reduce_display_text}}</div>
-          </ul>
-        </div>
-      {{else}}
-        <div class="widget-content-isNA slots-content-isNA" >{{t services.service.summary.notAvailable}}</div>
-      {{/if}}
-    </li>
-  </ul>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/templates/main/service/services/mapreduce.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/services/mapreduce.hbs b/ambari-web/app/templates/main/service/services/mapreduce.hbs
deleted file mode 100644
index 51e6f38..0000000
--- a/ambari-web/app/templates/main/service/services/mapreduce.hbs
+++ /dev/null
@@ -1,81 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-{{view view.dashboardMasterComponentView}}
-
-<!-- TaskTrackers -->
-<tr>
-  <td><a href="#" {{action filterHosts view.taskTrackerComponent}}>{{t dashboard.services.mapreduce.taskTrackers}}</a>
-  </td>
-  <td>
-    <span>
-      {{#view App.ComponentLiveTextView liveComponentsBinding="view.service.taskTrackersStarted" totalComponentsBinding="view.service.taskTrackersTotal"}}
-        {{view.liveComponents}}/{{view.totalComponents}}
-      {{/view}}
-    </span> {{t services.service.summary.TrackersLive}}
-  </td>
-</tr>
-<!-- Job Tracker Uptime -->
-<tr>
-  <td>{{t dashboard.services.mapreduce.jobTrackerUptime}}</td>
-  <td>{{view.jobTrackerUptime}}</td>
-</tr>
-<!-- TaskTracker Counts -->
-<tr>
-  <td>{{t dashboard.services.mapreduce.taskTrackerCounts}}</td>
-  <td>
-    {{view.service.grayListTrackers.length}} {{t dashboard.services.mapreduce.nodes.blacklist}} /
-    {{view.service.blackListTrackers.length}} {{t dashboard.services.mapreduce.nodes.graylist}} /
-    {{view.service.trackersDecommissioned}} {{t dashboard.services.hdfs.nodes.decom}}
-  </td>
-</tr>
-<!-- JobTracker Heap -->
-<tr>
-  <td>{{t dashboard.services.mapreduce.jobTrackerHeap}}</td>
-  <td>{{view.trackersHeapSummary}}</td>
-</tr>
-<!-- Total slots capacity -->
-<tr>
-  <td>{{t dashboard.services.mapreduce.slotCapacity}}</td>
-  <td>{{view.slotsCapacitySummary}}</td>
-</tr>
-<!-- Jobs -->
-<tr>
-  <td>{{t dashboard.services.mapreduce.jobs}}</td>
-  <td>{{view.jobsSummary}}</td>
-</tr>
-<!-- Map Slots -->
-<tr>
-  <td>{{t dashboard.services.mapreduce.mapSlots}}</td>
-  <td>{{view.mapSlotsSummary}}</td>
-</tr>
-<!-- Reduce Slots -->
-<tr>
-  <td>{{t dashboard.services.mapreduce.reduceSlots}}</td>
-  <td>{{view.reduceSlotsSummary}}</td>
-</tr>
-<!-- Tasks:Maps -->
-<tr>
-  <td>{{t dashboard.services.mapreduce.tasks.maps}}</td>
-  <td>{{view.mapTasksSummary}}</td>
-</tr>
-<!-- Tasks:Reduces -->
-<tr>
-  <td>{{t dashboard.services.mapreduce.tasks.reduces}}</td>
-  <td>{{view.reduceTasksSummary}}</td>
-</tr>

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/utils/ajax/ajax.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js
index 0afd4b3..9ca5a57 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -877,46 +877,6 @@ var urls = {
     'mock': '/data/services/metrics/hbase/regionserver_rw_requests.json',
     'testInProduction': true
   },
-  'service.metrics.mapreduce.gc': {
-    'real': '/clusters/{clusterName}/hosts/{jobTrackerNode}/host_components/JOBTRACKER?fields=metrics/jvm/gcTimeMillis[{fromSeconds},{toSeconds},{stepSeconds}]',
-    'mock': '/data/services/metrics/mapreduce/gc.json',
-    'testInProduction': true
-  },
-  'service.metrics.mapreduce.jobs_status': {
-    'real': '/clusters/{clusterName}/services/MAPREDUCE/components/JOBTRACKER?fields=metrics/mapred/jobtracker/jobs_completed[{fromSeconds},{toSeconds},{stepSeconds}],metrics/mapred/jobtracker/jobs_preparing[{fromSeconds},{toSeconds},{stepSeconds}],metrics/mapred/jobtracker/jobs_failed[{fromSeconds},{toSeconds},{stepSeconds}],metrics/mapred/jobtracker/jobs_submitted[{fromSeconds},{toSeconds},{stepSeconds}],metrics/mapred/jobtracker/jobs_failed[{fromSeconds},{toSeconds},{stepSeconds}],metrics/mapred/jobtracker/jobs_running[{fromSeconds},{toSeconds},{stepSeconds}]',
-    'mock': '/data/services/metrics/mapreduce/jobs_status.json',
-    'testInProduction': true
-  },
-  'service.metrics.mapreduce.jobs_heap': {
-    'real': '/clusters/{clusterName}/hosts/{jobTrackerNode}/host_components/JOBTRACKER?fields=metrics/jvm/memNonHeapUsedM[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/memNonHeapCommittedM[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/memHeapUsedM[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/memHeapCommittedM[{fromSeconds},{toSeconds},{stepSeconds}]',
-    'mock': '/data/services/metrics/mapreduce/jvm_heap.json',
-    'testInProduction': true
-  },
-  'service.metrics.mapreduce.jobs_threads': {
-    'real': '/clusters/{clusterName}/hosts/{jobTrackerNode}/host_components/JOBTRACKER?fields=metrics/jvm/threadsRunnable[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/threadsBlocked[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/threadsWaiting[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/threadsTimedWaiting[{fromSeconds},{toSeconds},{stepSeconds}]',
-    'mock': '/data/services/metrics/mapreduce/jvm_threads.json',
-    'testInProduction': true
-  },
-  'service.metrics.mapreduce.map_slots': {
-    'real': '/clusters/{clusterName}/services/MAPREDUCE/components/JOBTRACKER?fields=metrics/mapred/jobtracker/occupied_map_slots[{fromSeconds},{toSeconds},{stepSeconds}],metrics/mapred/jobtracker/reserved_map_slots[{fromSeconds},{toSeconds},{stepSeconds}]',
-    'mock': '/data/services/metrics/mapreduce/map_slots.json',
-    'testInProduction': true
-  },
-  'service.metrics.mapreduce.reduce_slots': {
-    'real': '/clusters/{clusterName}/services/MAPREDUCE/components/JOBTRACKER?fields=metrics/mapred/jobtracker/occupied_reduce_slots[{fromSeconds},{toSeconds},{stepSeconds}],metrics/mapred/jobtracker/reserved_reduce_slots[{fromSeconds},{toSeconds},{stepSeconds}]',
-    'mock': '/data/services/metrics/mapreduce/reduce_slots.json',
-    'testInProduction': true
-  },
-  'service.metrics.mapreduce.rpc': {
-    'real': '/clusters/{clusterName}/hosts/{jobTrackerNode}/host_components/JOBTRACKER?fields=metrics/rpc/RpcQueueTime_avg_time[{fromSeconds},{toSeconds},{stepSeconds}]',
-    'mock': '/data/services/metrics/mapreduce/rpc.json',
-    'testInProduction': true
-  },
-  'service.metrics.mapreduce.tasks_running_waiting': {
-    'real': '/clusters/{clusterName}/services/MAPREDUCE/components/JOBTRACKER?fields=metrics/mapred/jobtracker/running_maps[{fromSeconds},{toSeconds},{stepSeconds}],metrics/mapred/jobtracker/running_reduces[{fromSeconds},{toSeconds},{stepSeconds}],metrics/mapred/jobtracker/waiting_maps[{fromSeconds},{toSeconds},{stepSeconds}],metrics/mapred/jobtracker/waiting_reduces[{fromSeconds},{toSeconds},{stepSeconds}]',
-    'mock': '/data/services/metrics/mapreduce/tasks_running_waiting.json',
-    'testInProduction': true
-  },
   'service.metrics.hdfs.block_status': {
     'real': '/clusters/{clusterName}/hosts/{nameNodeName}/host_components/NAMENODE?fields=metrics/dfs/FSNamesystem/PendingReplicationBlocks[{fromSeconds},{toSeconds},{stepSeconds}],metrics/dfs/FSNamesystem/UnderReplicatedBlocks[{fromSeconds},{toSeconds},{stepSeconds}]',
     'mock': '/data/services/metrics/hdfs/block_status.json',

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/utils/batch_scheduled_requests.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/batch_scheduled_requests.js b/ambari-web/app/utils/batch_scheduled_requests.js
index 7cafdd3..95d8f9b 100644
--- a/ambari-web/app/utils/batch_scheduled_requests.js
+++ b/ambari-web/app/utils/batch_scheduled_requests.js
@@ -57,7 +57,6 @@ module.exports = {
     var rollingRestartComponents = {
       HDFS: 'DATANODE',
       YARN: 'NODEMANAGER',
-      MAPREDUCE: 'TASKTRACKER',
       HBASE: 'HBASE_REGIONSERVER',
       STORM: 'SUPERVISOR'
     };

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/utils/helper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/helper.js b/ambari-web/app/utils/helper.js
index b0a2cf3..844324d 100644
--- a/ambari-web/app/utils/helper.js
+++ b/ambari-web/app/utils/helper.js
@@ -366,7 +366,6 @@ App.format = {
     'HISTORYSERVER': 'History Server',
     'HIVE_SERVER': 'HiveServer2',
     'JCE': 'JCE',
-    'MAPREDUCE': 'MapReduce',
     'MAPREDUCE2': 'MapReduce2',
     'MYSQL': 'MySQL',
     'REST': 'REST',

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views.js b/ambari-web/app/views.js
index 79c3774..a8be844 100644
--- a/ambari-web/app/views.js
+++ b/ambari-web/app/views.js
@@ -164,22 +164,15 @@ require('views/main/dashboard/widgets/cluster_metrics_widget');
 require('views/main/dashboard/widgets/namenode_heap');
 require('views/main/dashboard/widgets/namenode_cpu');
 require('views/main/dashboard/widgets/hdfs_capacity');
-require('views/main/dashboard/widgets/jobtracker_heap');
-require('views/main/dashboard/widgets/jobtracker_cpu');
 require('views/main/dashboard/widgets/datanode_live');
-require('views/main/dashboard/widgets/tasktracker_live');
 require('views/main/dashboard/widgets/namenode_rpc');
-require('views/main/dashboard/widgets/jobtracker_rpc');
-require('views/main/dashboard/widgets/mapreduce_slots');
 require('views/main/dashboard/widgets/metrics_memory');
 require('views/main/dashboard/widgets/metrics_network');
 require('views/main/dashboard/widgets/metrics_cpu');
 require('views/main/dashboard/widgets/metrics_load');
 require('views/main/dashboard/widgets/namenode_uptime');
-require('views/main/dashboard/widgets/jobtracker_uptime');
 require('views/main/dashboard/widgets/hdfs_links');
 require('views/main/dashboard/widgets/yarn_links');
-require('views/main/dashboard/widgets/mapreduce_links');
 require('views/main/dashboard/widgets/hbase_links');
 require('views/main/dashboard/widgets/hbase_master_heap');
 require('views/main/dashboard/widgets/hbase_average_load');
@@ -198,7 +191,6 @@ require('views/main/service');
 require('views/main/service/service');
 require('views/main/service/services/hdfs');
 require('views/main/service/services/yarn');
-require('views/main/service/services/mapreduce');
 require('views/main/service/services/mapreduce2');
 require('views/main/service/services/hbase');
 require('views/main/service/services/hive');
@@ -233,14 +225,6 @@ require('views/main/service/info/metrics/yarn/apps_current_states');
 require('views/main/service/info/metrics/yarn/apps_finished_states');
 require('views/main/service/info/metrics/yarn/nms');
 require('views/main/service/info/metrics/yarn/qmr');
-require('views/main/service/info/metrics/mapreduce/gc');
-require('views/main/service/info/metrics/mapreduce/jvm_threads');
-require('views/main/service/info/metrics/mapreduce/jvm_heap');
-require('views/main/service/info/metrics/mapreduce/rpc');
-require('views/main/service/info/metrics/mapreduce/tasks_running_waiting');
-require('views/main/service/info/metrics/mapreduce/jobs_status');
-require('views/main/service/info/metrics/mapreduce/map_slots');
-require('views/main/service/info/metrics/mapreduce/reduce_slots');
 require('views/main/service/info/metrics/hbase/cluster_requests');
 require('views/main/service/info/metrics/hbase/regionserver_rw_requests');
 require('views/main/service/info/metrics/hbase/regionserver_regions');

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/common/chart/linear_time.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/chart/linear_time.js b/ambari-web/app/views/common/chart/linear_time.js
index e2032b1..bf8ccad 100644
--- a/ambari-web/app/views/common/chart/linear_time.js
+++ b/ambari-web/app/views/common/chart/linear_time.js
@@ -167,8 +167,6 @@ App.ChartLinearTimeView = Ember.View.extend({
 
     var HDFSService = App.HDFSService.find().objectAt(0);
     var nameNodeName = "";
-    var MapReduceService = App.MapReduceService.find().objectAt(0);
-    var jobTrackerNode = MapReduceService ? MapReduceService.get('jobTracker.hostName') : "";
     var YARNService = App.YARNService.find().objectAt(0);
     var resourceManager = YARNService ? YARNService.get('resourceManager.hostName') : "";
     var timeUnit = this.get('timeUnitSeconds');
@@ -181,7 +179,6 @@ App.ChartLinearTimeView = Ember.View.extend({
       stepSeconds: 15,
       hostName: hostName,
       nameNodeName: nameNodeName,
-      jobTrackerNode: jobTrackerNode,
       resourceManager: resourceManager
     };
   },

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/common/configs/service_configs_by_category_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/service_configs_by_category_view.js b/ambari-web/app/views/common/configs/service_configs_by_category_view.js
index 2edbc89..65c08e4 100644
--- a/ambari-web/app/views/common/configs/service_configs_by_category_view.js
+++ b/ambari-web/app/views/common/configs/service_configs_by_category_view.js
@@ -162,36 +162,9 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, {
         }
       }
       else if (changedProperty.get("name") == "user_group") {
-        if (!((this.get("controller.selectedServiceNames").indexOf("MAPREDUCE") >= 0) || (this.get("controller.selectedServiceNames").indexOf("YARN") >= 0))) {
+        if (!(this.get("controller.selectedServiceNames").indexOf("YARN") >= 0)) {
           return;
         }
-        if (this.get("controller.selectedServiceNames").indexOf("MAPREDUCE") >= 0) {
-          curConfigs = stepConfigs.findProperty("serviceName", "MAPREDUCE").get("configs");
-          if (newValue != curConfigs.findProperty("name", "mapreduce.tasktracker.group").get("value")) {
-            this.affectedProperties.push(
-              {
-                serviceName: "MAPREDUCE",
-                propertyName: "mapreduce.tasktracker.group",
-                propertyDisplayName: "mapreduce.tasktracker.group",
-                newValue: newValue,
-                curValue: curConfigs.findProperty("name", "mapreduce.tasktracker.group").get("value"),
-                changedPropertyName: "user_group"
-              }
-            )
-          }
-          if ($.trim(newValue) != $.trim(curConfigs.findProperty("name", "mapreduce.cluster.administrators").get("value"))) {
-            this.affectedProperties.push(
-              {
-                serviceName: "MAPREDUCE",
-                propertyName: "mapreduce.cluster.administrators",
-                propertyDisplayName: "mapreduce.cluster.administrators",
-                newValue: " " + $.trim(newValue),
-                curValue: curConfigs.findProperty("name", "mapreduce.cluster.administrators").get("value"),
-                changedPropertyName: "user_group"
-              }
-            );
-          }
-        }
         if (this.get("controller.selectedServiceNames").indexOf("MAPREDUCE2") >= 0) {
           curConfigs = stepConfigs.findProperty("serviceName", "MAPREDUCE2").get("configs");
           if ($.trim(newValue) != $.trim(curConfigs.findProperty("name", "mapreduce.cluster.administrators").get("value"))) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/common/quick_view_link_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/quick_view_link_view.js b/ambari-web/app/views/common/quick_view_link_view.js
index c4265af..a6f02e0 100644
--- a/ambari-web/app/views/common/quick_view_link_view.js
+++ b/ambari-web/app/views/common/quick_view_link_view.js
@@ -131,25 +131,13 @@ App.QuickViewLinks = Em.View.extend({
       }];
       this.set('quickLinks', quickLinks);
       this.set('isLoaded', true);
-      /**
-       * MAPREDUCE is only service that use 2 different masters in quick links
-       * so we must work with this service as with one-master-service but set up
-       * two hosts for two components. (JOBTRACKER and HISTORYSERVER)
-       */
-    } else if (hosts.length == 1 || this.get('content.serviceName') == "MAPREDUCE") {
+    } else if (hosts.length == 1) {
 
       quickLinks = this.get('content.quickLinks').map(function (item) {
         var protocol = self.setProtocol(item.get('service_id'), self.get('configProperties'), self.ambariProperties());
         if (item.get('template')) {
           var port = item.get('http_config') && self.setPort(item, protocol);
-          /**
-           * setting other host for mapreduce (only for MAPREDUCE and JobHistory Server)!!!
-           */
-          if (self.get('content.serviceName') == "MAPREDUCE" && item.get('label') == "JobHistory Server") {
-            item.set('url', item.get('template').fmt(protocol, hosts[1], port));
-          } else {
-            item.set('url', item.get('template').fmt(protocol, hosts[0], port));
-          }
+          item.set('url', item.get('template').fmt(protocol, hosts[0], port));
         }
         return item;
       });
@@ -273,10 +261,6 @@ App.QuickViewLinks = Em.View.extend({
           hosts[0] = this.findComponentHost(response.items, 'RESOURCEMANAGER');
         }
         break;
-      case "MAPREDUCE":
-        hosts[0] = this.findComponentHost(response.items, "JOBTRACKER");
-        hosts[1] = this.findComponentHost(response.items, "HISTORYSERVER");
-        break;
       case "STORM":
         hosts[0] = this.findComponentHost(response.items, "STORM_UI_SERVER");
         break;
@@ -295,7 +279,7 @@ App.QuickViewLinks = Em.View.extend({
    * becides GANGLIA, NAGIOS, YARN, MAPREDUCE2. These properties use
    * their properties to know protocol
    */
-  servicesSupportsHttps: ["HDFS", "HBASE", "MAPREDUCE"],
+  servicesSupportsHttps: ["HDFS", "HBASE"],
 
   /**
    * setProtocol - if cluster is secure for some services (GANGLIA, NAGIOS, MAPREDUCE2, YARN and servicesSupportsHttps)
@@ -380,7 +364,6 @@ App.QuickViewLinks = Em.View.extend({
       case "hdfs":
       case "yarn":
       case "mapreduce2":
-      case "mapreduce":
       case "hbase":
       case "oozie":
       case "ganglia":

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets.js b/ambari-web/app/views/main/dashboard/widgets.js
index c9a46b7..eb7af97 100644
--- a/ambari-web/app/views/main/dashboard/widgets.js
+++ b/ambari-web/app/views/main/dashboard/widgets.js
@@ -118,60 +118,53 @@ App.MainDashboardWidgetsView = Em.View.extend(App.UserPref, App.LocalStorage, {
   setInitPrefObject: function () {
     //in case of some service not installed
     var visibleFull = [
-      '2', '4', '8', '10',
-      '17', '11', '12', '13', '14',
-      '18', '1', '6', '5', '9',
-      '3', '7', '15', '16', '20',
-      '19', '21', '23',
-      '24', '25', '26', '27', '30', // all yarn
-      '28', // storm
-      '29' // flume
+      '2', '4', '11', //hdfs
+      '6', '7', '8', '9', //host metrics
+      '1', '5', '3',  '10', //hdfs
+      '13', '12', '14', '16', //hbase
+      '17', '18', '19', '20', '23', // all yarn
+      '21', // storm
+      '22' // flume
     ]; // all in order
     var hiddenFull = [
-      ['22', 'Region In Transition']
+      ['15', 'Region In Transition']
     ];
 
     // Display widgets for host metrics if the stack definition has a host metrics service to display it.
     if (this.get('host_metrics_model') == null) {
-      var hostMetrics = ['11', '12', '13', '14'];
+      var hostMetrics = ['6', '7', '8', '9'];
       hostMetrics.forEach(function (item) {
         visibleFull = visibleFull.without(item);
       }, this);
     }
 
     if (this.get('hdfs_model') == null) {
-      var hdfs = ['1', '2', '3', '4', '5', '15', '17'];
+      var hdfs = ['1', '2', '3', '4', '5', '10', '11'];
       hdfs.forEach(function (item) {
         visibleFull = visibleFull.without(item);
       }, this);
     }
-    if (this.get('mapreduce_model') == null) {
-      var map = ['6', '7', '8', '9', '10', '16', '18'];
-      map.forEach(function (item) {
-        visibleFull = visibleFull.without(item);
-      }, this);
-    }
     if (this.get('hbase_model') == null) {
-      var hbase = ['19', '20', '21', '23'];
+      var hbase = ['12', '13', '14', '16'];
       hbase.forEach(function (item) {
         visibleFull = visibleFull.without(item);
       }, this);
       hiddenFull = [];
     }
     if (this.get('yarn_model') == null) {
-      var yarn = ['24', '25', '26', '27', '30'];
+      var yarn = ['17', '18', '19', '20', '23'];
       yarn.forEach(function (item) {
         visibleFull = visibleFull.without(item);
       }, this);
     }
     if (this.get('storm_model') == null) {
-      var storm = ['28'];
+      var storm = ['21'];
       storm.forEach(function (item) {
         visibleFull = visibleFull.without(item);
       }, this);
     }
     if (this.get('flume_model') == null) {
-      var flume = ['29'];
+      var flume = ['22'];
       flume.forEach(function (item) {
         visibleFull = visibleFull.without(item);
       }, this);
@@ -185,8 +178,6 @@ App.MainDashboardWidgetsView = Em.View.extend(App.UserPref, App.LocalStorage, {
 
   hdfs_model: null,
 
-  mapreduce_model: null,
-
   mapreduce2_model: null,
 
   yarn_model: null,
@@ -386,7 +377,7 @@ App.MainDashboardWidgetsView = Em.View.extend(App.UserPref, App.LocalStorage, {
 
     // check each service, find out the newly added service and already deleted service
     if (this.get('hdfs_model') != null) {
-      var hdfs = ['1', '2', '3', '4', '5', '15', '17'];
+      var hdfs = ['1', '2', '3', '4', '5', '10', '11'];
       hdfs.forEach(function (item) {
         toDelete = self.removeWidget(toDelete, item);
       }, this);
@@ -394,7 +385,7 @@ App.MainDashboardWidgetsView = Em.View.extend(App.UserPref, App.LocalStorage, {
 
     // Display widgets for host metrics if the stack definition has a host metrics service to display it.
     if (this.get('host_metrics_model') != null) {
-      var hostMetrics = ['11', '12', '13', '14'];
+      var hostMetrics = ['6', '7', '8', '9'];
       var flag = self.containsWidget(toDelete, hostMetrics[0]);
       if (flag) {
         hostMetrics.forEach(function (item) {
@@ -405,19 +396,8 @@ App.MainDashboardWidgetsView = Em.View.extend(App.UserPref, App.LocalStorage, {
       }
     }
 
-    if (this.get('mapreduce_model') != null) {
-      var map = ['6', '7', '8', '9', '10', '16', '18'];
-      var flag = self.containsWidget(toDelete, map[0]);
-      if (flag) {
-        map.forEach(function (item) {
-          toDelete = self.removeWidget(toDelete, item);
-        }, this);
-      } else {
-        toAdd = toAdd.concat(map);
-      }
-    }
     if (this.get('hbase_model') != null) {
-      var hbase = ['19', '20', '21', '22', '23'];
+      var hbase = ['12', '13', '14', '15', '16'];
       var flag = self.containsWidget(toDelete, hbase[0]);
       if (flag) {
         hbase.forEach(function (item) {
@@ -428,7 +408,7 @@ App.MainDashboardWidgetsView = Em.View.extend(App.UserPref, App.LocalStorage, {
       }
     }
     if (this.get('yarn_model') != null) {
-      var yarn = ['24', '25', '26', '27', '30'];
+      var yarn = ['17', '18', '19', '20', '23'];
       var flag = self.containsWidget(toDelete, yarn[0]);
       if (flag) {
         yarn.forEach(function (item) {
@@ -439,7 +419,7 @@ App.MainDashboardWidgetsView = Em.View.extend(App.UserPref, App.LocalStorage, {
       }
     }
     if (this.get('storm_model') != null) {
-      var storm = ['28'];
+      var storm = ['21'];
       var flag = self.containsWidget(toDelete, storm[0]);
       if (flag) {
         storm.forEach(function (item) {
@@ -450,7 +430,7 @@ App.MainDashboardWidgetsView = Em.View.extend(App.UserPref, App.LocalStorage, {
       }
     }
     if (this.get('flume_model') != null) {
-      var flume = ['29'];
+      var flume = ['22'];
       var flag = self.containsWidget(toDelete, flume[0]);
       if (flag) {
         flume.forEach(function (item) {
@@ -492,31 +472,24 @@ App.MainDashboardWidgetsView = Em.View.extend(App.UserPref, App.LocalStorage, {
       '3': App.NameNodeCpuPieChartView,
       '4': App.DataNodeUpView,
       '5': App.NameNodeRpcView,
-      '6': App.JobTrackerHeapPieChartView,
-      '7': App.JobTrackerCpuPieChartView,
-      '8': App.TaskTrackerUpView,
-      '9': App.JobTrackerRpcView,
-      '10': App.MapReduceSlotsView,
-      '11': App.ChartClusterMetricsMemoryWidgetView,
-      '12': App.ChartClusterMetricsNetworkWidgetView,
-      '13': App.ChartClusterMetricsCPUWidgetView,
-      '14': App.ChartClusterMetricsLoadWidgetView,
-      '15': App.NameNodeUptimeView,
-      '16': App.JobTrackerUptimeView,
-      '17': App.HDFSLinksView,
-      '18': App.MapReduceLinksView,
-      '19': App.HBaseLinksView,
-      '20': App.HBaseMasterHeapPieChartView,
-      '21': App.HBaseAverageLoadView,
-      '22': App.HBaseRegionsInTransitionView,
-      '23': App.HBaseMasterUptimeView,
-      '24': App.ResourceManagerHeapPieChartView,
-      '25': App.ResourceManagerUptimeView,
-      '26': App.NodeManagersLiveView,
-      '27': App.YARNMemoryPieChartView,
-      '28': App.SuperVisorUpView,
-      '29': App.FlumeAgentUpView,
-      '30': App.YARNLinksView
+      '6': App.ChartClusterMetricsMemoryWidgetView,
+      '7': App.ChartClusterMetricsNetworkWidgetView,
+      '8': App.ChartClusterMetricsCPUWidgetView,
+      '9': App.ChartClusterMetricsLoadWidgetView,
+      '10': App.NameNodeUptimeView,
+      '11': App.HDFSLinksView,
+      '12': App.HBaseLinksView,
+      '13': App.HBaseMasterHeapPieChartView,
+      '14': App.HBaseAverageLoadView,
+      '15': App.HBaseRegionsInTransitionView,
+      '16': App.HBaseMasterUptimeView,
+      '17': App.ResourceManagerHeapPieChartView,
+      '18': App.ResourceManagerUptimeView,
+      '19': App.NodeManagersLiveView,
+      '20': App.YARNMemoryPieChartView,
+      '21': App.SuperVisorUpView,
+      '22': App.FlumeAgentUpView,
+      '23': App.YARNLinksView
     }, id);
   },
 
@@ -532,9 +505,8 @@ App.MainDashboardWidgetsView = Em.View.extend(App.UserPref, App.LocalStorage, {
     dashboardVersion: 'new',
     visible: [],
     hidden: [],
-    threshold: {1: [80, 90], 2: [85, 95], 3: [90, 95], 4: [80, 90], 5: [1000, 3000], 6: [70, 90], 7: [90, 95], 8: [50, 75], 9: [30000, 120000],
-      10: [], 11: [], 12: [], 13: [], 14: [], 15: [], 16: [], 17: [], 18: [], 19: [], 20: [70, 90], 21: [10, 19.2], 22: [3, 10], 23: [],
-      24: [70, 90], 25: [], 26: [50, 75], 27: [50, 75], 28: [85, 95], 29: [85, 95], 30: []} // id:[thresh1, thresh2]
+    threshold: {1: [80, 90], 2: [85, 95], 3: [90, 95], 4: [80, 90], 5: [1000, 3000], 6: [], 7: [], 8: [], 9: [], 10: [], 11: [], 12: [], 13: [70, 90], 14: [10, 19.2], 15: [3, 10], 16: [],
+      17: [70, 90], 18: [], 19: [50, 75], 20: [50, 75], 21: [85, 95], 22: [85, 95], 23: []} // id:[thresh1, thresh2]
   }),
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/hbase_average_load.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/hbase_average_load.js b/ambari-web/app/views/main/dashboard/widgets/hbase_average_load.js
index 21f3fcd..0065333 100644
--- a/ambari-web/app/views/main/dashboard/widgets/hbase_average_load.js
+++ b/ambari-web/app/views/main/dashboard/widgets/hbase_average_load.js
@@ -21,7 +21,7 @@ var App = require('app');
 App.HBaseAverageLoadView = App.TextDashboardWidgetView.extend({
 
   title: Em.I18n.t('dashboard.widgets.HBaseAverageLoad'),
-  id: '21',
+  id: '14',
 
   model_type: 'hbase',
   hiddenInfo: function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/hbase_links.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/hbase_links.js b/ambari-web/app/views/main/dashboard/widgets/hbase_links.js
index bde4246..833f8a3 100644
--- a/ambari-web/app/views/main/dashboard/widgets/hbase_links.js
+++ b/ambari-web/app/views/main/dashboard/widgets/hbase_links.js
@@ -22,7 +22,7 @@ App.HBaseLinksView = App.LinkDashboardWidgetView.extend({
 
   templateName: require('templates/main/dashboard/widgets/hbase_links'),
   title: Em.I18n.t('dashboard.widgets.HBaseLinks'),
-  id: '19',
+  id: '12',
 
   model_type: 'hbase',
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/hbase_master_heap.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/hbase_master_heap.js b/ambari-web/app/views/main/dashboard/widgets/hbase_master_heap.js
index aaeee2c..62bac10 100644
--- a/ambari-web/app/views/main/dashboard/widgets/hbase_master_heap.js
+++ b/ambari-web/app/views/main/dashboard/widgets/hbase_master_heap.js
@@ -22,7 +22,7 @@ var numberUtils = require('utils/number_utils');
 App.HBaseMasterHeapPieChartView = App.PieChartDashboardWidgetView.extend({
 
   title: Em.I18n.t('dashboard.widgets.HBaseMasterHeap'),
-  id: '20',
+  id: '13',
 
   model_type: 'hbase',
   modelFieldMax: 'heapMemoryMax',

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/hbase_master_uptime.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/hbase_master_uptime.js b/ambari-web/app/views/main/dashboard/widgets/hbase_master_uptime.js
index c6e9b67..0801ac2 100644
--- a/ambari-web/app/views/main/dashboard/widgets/hbase_master_uptime.js
+++ b/ambari-web/app/views/main/dashboard/widgets/hbase_master_uptime.js
@@ -21,7 +21,7 @@ var App = require('app');
 App.HBaseMasterUptimeView = App.UptimeTextDashboardWidgetView.extend({
 
   title: Em.I18n.t('dashboard.widgets.HBaseMasterUptime'),
-  id: '23',
+  id: '16',
 
   model_type: 'hbase',
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/hbase_regions_in_transition.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/hbase_regions_in_transition.js b/ambari-web/app/views/main/dashboard/widgets/hbase_regions_in_transition.js
index 6f4f4cd..734a729 100644
--- a/ambari-web/app/views/main/dashboard/widgets/hbase_regions_in_transition.js
+++ b/ambari-web/app/views/main/dashboard/widgets/hbase_regions_in_transition.js
@@ -21,7 +21,7 @@ var App = require('app');
 App.HBaseRegionsInTransitionView = App.TextDashboardWidgetView.extend({
 
   title: Em.I18n.t('dashboard.widgets.HBaseRegionsInTransition'),
-  id: '22',
+  id: '15',
 
   model_type: 'hbase',
   hiddenInfo: function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/hdfs_links.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/hdfs_links.js b/ambari-web/app/views/main/dashboard/widgets/hdfs_links.js
index ac46731..ec555a7 100644
--- a/ambari-web/app/views/main/dashboard/widgets/hdfs_links.js
+++ b/ambari-web/app/views/main/dashboard/widgets/hdfs_links.js
@@ -22,7 +22,7 @@ App.HDFSLinksView = App.LinkDashboardWidgetView.extend({
 
   templateName: require('templates/main/dashboard/widgets/hdfs_links'),
   title: Em.I18n.t('dashboard.widgets.HDFSLinks'),
-  id: '17',
+  id: '11',
 
   model_type: 'hdfs',
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/jobtracker_cpu.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/jobtracker_cpu.js b/ambari-web/app/views/main/dashboard/widgets/jobtracker_cpu.js
deleted file mode 100644
index e7a87b1..0000000
--- a/ambari-web/app/views/main/dashboard/widgets/jobtracker_cpu.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.JobTrackerCpuPieChartView = App.PieChartDashboardWidgetView.extend({
-
-  title: Em.I18n.t('dashboard.widgets.JobTrackerCpu'),
-  id: '7',
-
-  model_type: 'mapreduce',
-
-  widgetHtmlId: 'widget-jt-cpu',
-
-  modelFieldUsed: 'jobTrackerCpu',
-
-  didInsertElement: function() {
-    this._super();
-    this.calc();
-  },
-
-  calcHiddenInfo: function() {
-    var value = this.get('model').get(this.get('modelFieldUsed'));
-    var obj1;
-    if( value == null) {
-      obj1 = Em.I18n.t('services.service.summary.notAvailable');
-    }
-    else {
-      value = value >= 100 ? 100: value;
-      obj1 = (value + 0).toFixed(2) + '%';
-    }
-    var result = [];
-    result.pushObject(obj1);
-    result.pushObject('CPU wait I/O');
-    return result;
-  },
-
-  calcIsPieExists: function() {
-    return (this.get('model').get(this.get('modelFieldUsed')) != null);
-  },
-
-  calcDataForPieChart: function() {
-    var value = this.get('model').get(this.get('modelFieldUsed'));
-    value = value >= 100 ? 100: value;
-    var percent = (value + 0).toFixed(1);
-    var percent_precise = (value + 0).toFixed(2);
-    return [ percent, percent_precise];
-  }
-
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/jobtracker_heap.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/jobtracker_heap.js b/ambari-web/app/views/main/dashboard/widgets/jobtracker_heap.js
deleted file mode 100644
index a8996be..0000000
--- a/ambari-web/app/views/main/dashboard/widgets/jobtracker_heap.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-var numberUtils = require('utils/number_utils');
-
-App.JobTrackerHeapPieChartView = App.PieChartDashboardWidgetView.extend({
-
-  title: Em.I18n.t('dashboard.widgets.JobTrackerHeap'),
-  id: '6',
-
-  model_type: 'mapreduce',
-  modelFieldMax: 'jobTrackerHeapMax',
-  modelFieldUsed: 'jobTrackerHeapUsed',
-
-  widgetHtmlId: 'widget-jt-heap',
-
-  getUsed: function() {
-    return (this.get('model').get(this.get('modelFieldUsed')) / (1024 * 1024)) || 0;
-  },
-
-  getMax: function() {
-    return (this.get('model').get(this.get('modelFieldMax')) / (1024 * 1024)) || 0;
-  },
-
-  didInsertElement: function() {
-    this._super();
-    this.calc();
-  }
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/jobtracker_rpc.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/jobtracker_rpc.js b/ambari-web/app/views/main/dashboard/widgets/jobtracker_rpc.js
deleted file mode 100644
index ba67938..0000000
--- a/ambari-web/app/views/main/dashboard/widgets/jobtracker_rpc.js
+++ /dev/null
@@ -1,163 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.JobTrackerRpcView = App.TextDashboardWidgetView.extend({
-
-  title: Em.I18n.t('dashboard.widgets.JobTrackerRpc'),
-  id:'9',
-
-  model_type: 'mapreduce',
-  hiddenInfo: function (){
-    var result = [];
-    result.pushObject(this.get('content') + ' average RPC');
-    result.pushObject('queue wait time');
-    return result;
-  }.property('model.jobTrackerRpc'),
-
-  thresh1: 0.5,
-  thresh2: 2,
-  maxValue: 'infinity',
-
-  isGreen: function () {
-    return (this.get('data') <= this.get('thresh1'));
-  }.property('data','thresh1'),
-
-  isRed: function () {
-    return (this.get('data') > this.get('thresh2'));
-  }.property('data','thresh2'),
-
-  data: function (){
-    if (this.get('model.jobTrackerRpc')) {
-      return (this.get('model.jobTrackerRpc')).toFixed(2);
-    } else {
-      if (this.get('model.jobTrackerRpc') == 0) {
-        return 0;
-      } else {
-        return null;
-      }
-    }
-  }.property('model.jobTrackerRpc'),
-
-  content: function () {
-    if (this.get('data') || this.get('data') == 0) {
-      return this.get('data') + " ms";
-    } else {
-      return Em.I18n.t('services.service.summary.notAvailable');
-    }
-  }.property('model.jobTrackerRpc'),
-
-  editWidget: function (event) {
-    var parent = this;
-    var configObj = Ember.Object.create({
-      thresh1: parent.get('thresh1') + '',
-      thresh2: parent.get('thresh2') + '',
-      hintInfo: Em.I18n.t('dashboard.widgets.hintInfo.hint3'),
-      isThresh1Error: false,
-      isThresh2Error: false,
-      errorMessage1: "",
-      errorMessage2: "",
-      maxValue: 'infinity',
-      observeNewThresholdValue: function () {
-        var thresh1 = this.get('thresh1');
-        var thresh2 = this.get('thresh2');
-        if (thresh1.trim() != "") {
-          if (isNaN(thresh1) || thresh1 < 0) {
-            this.set('isThresh1Error', true);
-            this.set('errorMessage1', 'Invalid! Enter a number larger than 0');
-          } else if (this.get('isThresh2Error') === false && parseFloat(thresh2)<= parseFloat(thresh1)) {
-            this.set('isThresh1Error', true);
-            this.set('errorMessage1', 'Threshold 1 should be smaller than threshold 2 !');
-          } else {
-            this.set('isThresh1Error', false);
-            this.set('errorMessage1', '');
-          }
-        } else {
-          this.set('isThresh1Error', true);
-          this.set('errorMessage1', 'This is required');
-        }
-
-        if (thresh2.trim() != "") {
-          if (isNaN(thresh2) || thresh2 < 0) {
-            this.set('isThresh2Error', true);
-            this.set('errorMessage2', 'Invalid! Enter a number larger than 0');
-          } else {
-            this.set('isThresh2Error', false);
-            this.set('errorMessage2', '');
-          }
-        } else{
-          this.set('isThresh2Error', true);
-          this.set('errorMessage2', 'This is required');
-        }
-      }.observes('thresh1', 'thresh2')
-    });
-
-    var browserVerion = this.getInternetExplorerVersion();
-    App.ModalPopup.show({
-      header: Em.I18n.t('dashboard.widgets.popupHeader'),
-      classNames: [ 'sixty-percent-width-modal-edit-widget'],
-      bodyClass: Ember.View.extend({
-        templateName: require('templates/main/dashboard/edit_widget_popup'),
-        configPropertyObj: configObj
-      }),
-      primary: Em.I18n.t('common.apply'),
-      onPrimary: function () {
-        configObj.observeNewThresholdValue();
-        if (!configObj.isThresh1Error && !configObj.isThresh2Error) {
-          parent.set('thresh1', parseFloat(configObj.get('thresh1')) );
-          parent.set('thresh2', parseFloat(configObj.get('thresh2')) );
-          if (!App.get('testMode')) {
-            // save to persist
-            var big_parent = parent.get('parentView');
-            big_parent.getUserPref(big_parent.get('persistKey'));
-            var oldValue = big_parent.get('currentPrefObject');
-            oldValue.threshold[parseInt(parent.id)] = [configObj.get('thresh1'), configObj.get('thresh2')];
-            big_parent.postUserPref(big_parent.get('persistKey'),oldValue);
-          }
-
-          this.hide();
-        }
-      },
-
-      didInsertElement: function () {
-        var colors = ['#95A800', '#FF8E00', '#B80000']; //color green, orange ,red
-        var handlers = [33, 66]; //fixed value
-
-        if (browserVerion == -1 || browserVerion > 9) {
-          configObj.set('isIE9', false);
-          configObj.set('isGreenOrangeRed', true);
-          $("#slider-range").slider({
-            range:true,
-            disabled:true,
-            min: 0,
-            max: 100,
-            values: handlers,
-            create: function (event, ui) {
-              parent.updateColors(handlers, colors);
-            }
-          });
-        } else {
-          configObj.set('isIE9', true);
-          configObj.set('isGreenOrangeRed', true);
-        }
-      }
-    });
-  }
-
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/jobtracker_uptime.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/jobtracker_uptime.js b/ambari-web/app/views/main/dashboard/widgets/jobtracker_uptime.js
deleted file mode 100644
index 282e138..0000000
--- a/ambari-web/app/views/main/dashboard/widgets/jobtracker_uptime.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.JobTrackerUptimeView = App.UptimeTextDashboardWidgetView.extend({
-
-  title: Em.I18n.t('dashboard.widgets.JobTrackerUptime'),
-  id: '16',
-
-  model_type: 'mapreduce',
-
-  component: 'JobTracker',
-  modelField: 'jobTrackerStartTime',
-
-  didInsertElement: function() {
-    this._super();
-    this.calc();
-  }
-
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/bd3a0bb7/ambari-web/app/views/main/dashboard/widgets/mapreduce_links.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/dashboard/widgets/mapreduce_links.js b/ambari-web/app/views/main/dashboard/widgets/mapreduce_links.js
deleted file mode 100644
index afdfbe6..0000000
--- a/ambari-web/app/views/main/dashboard/widgets/mapreduce_links.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.MapReduceLinksView = App.LinkDashboardWidgetView.extend({
-
-  templateName: require('templates/main/dashboard/widgets/mapreduce_links'),
-  title: Em.I18n.t('dashboard.widgets.MapReduceLinks'),
-  id: '18',
-
-  model_type: 'mapreduce',
-
-  port: '50030',
-
-  componentName: 'TASKTRACKER',
-
-  modelField: 'jobTracker',
-
-  didInsertElement: function() {
-    this._super();
-    this.calc();
-  }
-
-});
\ No newline at end of file