1
0
Selaa lähdekoodia

MAPREDUCE-2876. Use a different config for ContainerAllocationExpirer. Contributed by Anupam Seth.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1180767 13f79535-47bb-0310-9956-ffa450edef68
Arun Murthy 13 vuotta sitten
vanhempi
commit
3ddb52cfc0

+ 3 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -1546,6 +1546,9 @@ Release 0.23.0 - Unreleased
     MAPREDUCE-2802. Ensure JobHistory filenames have jobId. (Jonathan Eagles
     via acmurthy) 
 
+    MAPREDUCE-2876. Use a different config for ContainerAllocationExpirer.
+    (Anupam Seth via acmurthy) 
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES

+ 4 - 15
hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java

@@ -146,22 +146,11 @@ public class YarnConfiguration extends Configuration {
     RM_PREFIX + "admin.client.thread-count";
   public static final int DEFAULT_RM_ADMIN_CLIENT_THREAD_COUNT = 1;
   
-  /** How often should the RM check that the AM is still alive.*/
-  public static final String RM_AM_LIVENESS_MONITOR_INTERVAL_MS =
-    RM_PREFIX + "amliveliness-monitor.interval-ms";
-  public static final int DEFAULT_RM_AM_LIVENESS_MONITOR_INTERVAL_MS = 1000;
-  
   /** The maximum number of application master retries.*/
   public static final String RM_AM_MAX_RETRIES = 
     RM_PREFIX + "am.max-retries";
   public static final int DEFAULT_RM_AM_MAX_RETRIES = 1;
   
-  /** How often to check that containers are still alive. */
-  public static final String RM_CONTAINER_LIVENESS_MONITOR_INTERVAL_MS =
-    RM_PREFIX + "container.liveness-monitor.interval-ms";
-  public static final int DEFAULT_RM_CONTAINER_LIVENESS_MONITOR_INTERVAL_MS = 
-    600000;
-  
   /** The keytab for the resource manager.*/
   public static final String RM_KEYTAB = 
     RM_PREFIX + "keytab";
@@ -171,10 +160,10 @@ public class YarnConfiguration extends Configuration {
     RM_PREFIX + "nm.liveness-monitor.expiry-interval-ms";
   public static final int DEFAULT_RM_NM_EXPIRY_INTERVAL_MS = 600000;
   
-  /** How often to check that node managers are still alive.*/
-  public static final String RM_NM_LIVENESS_MONITOR_INTERVAL_MS =
-    RM_PREFIX + "nm.liveness-monitor.interval-ms";
-  public static final int DEFAULT_RM_NM_LIVENESS_MONITOR_INTERVAL_MS = 1000;
+  /** How long to wait until a container is considered dead.*/
+  public static final String RM_CONTAINER_ALLOC_EXPIRY_INTERVAL_MS = 
+    RM_PREFIX + "rm.container-allocation.expiry-interval-ms";
+  public static final int DEFAULT_RM_CONTAINER_ALLOC_EXPIRY_INTERVAL_MS = 600000;
   
   /** Path to file with nodes to include.*/
   public static final String RM_NODES_INCLUDE_FILE_PATH = 

+ 4 - 5
hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NMLivelinessMonitor.java

@@ -39,11 +39,10 @@ public class NMLivelinessMonitor extends AbstractLivelinessMonitor<NodeId> {
 
   public void init(Configuration conf) {
     super.init(conf);
-    setExpireInterval(conf.getInt(YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS,
-        YarnConfiguration.DEFAULT_RM_NM_EXPIRY_INTERVAL_MS));
-    setMonitorInterval(conf.getInt(
-        YarnConfiguration.RM_NM_LIVENESS_MONITOR_INTERVAL_MS,
-        YarnConfiguration.DEFAULT_RM_NM_LIVENESS_MONITOR_INTERVAL_MS));
+    int expireIntvl = conf.getInt(YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS,
+            YarnConfiguration.DEFAULT_RM_NM_EXPIRY_INTERVAL_MS);
+    setExpireInterval(expireIntvl);
+    setMonitorInterval(expireIntvl/3);
   }
 
   @Override

+ 4 - 4
hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/AMLivelinessMonitor.java

@@ -37,10 +37,10 @@ public class AMLivelinessMonitor extends AbstractLivelinessMonitor<ApplicationAt
 
   public void init(Configuration conf) {
     super.init(conf);
-    setExpireInterval(conf.getInt(YarnConfiguration.RM_AM_EXPIRY_INTERVAL_MS,
-        YarnConfiguration.DEFAULT_RM_AM_EXPIRY_INTERVAL_MS));
-    setMonitorInterval(conf.getInt(YarnConfiguration.RM_AM_LIVENESS_MONITOR_INTERVAL_MS,
-        YarnConfiguration.DEFAULT_RM_AM_LIVENESS_MONITOR_INTERVAL_MS));
+    int expireIntvl = conf.getInt(YarnConfiguration.RM_AM_EXPIRY_INTERVAL_MS,
+            YarnConfiguration.DEFAULT_RM_AM_EXPIRY_INTERVAL_MS);
+    setExpireInterval(expireIntvl);
+    setMonitorInterval(expireIntvl/3);
   }
 
   @Override

+ 5 - 5
hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmcontainer/ContainerAllocationExpirer.java

@@ -39,11 +39,11 @@ public class ContainerAllocationExpirer extends
 
   public void init(Configuration conf) {
     super.init(conf);
-    setExpireInterval(conf.getInt(
-        YarnConfiguration.RM_CONTAINER_LIVENESS_MONITOR_INTERVAL_MS,
-        YarnConfiguration.DEFAULT_RM_CONTAINER_LIVENESS_MONITOR_INTERVAL_MS));
-    setMonitorInterval(conf.getInt(YarnConfiguration.RM_AM_LIVENESS_MONITOR_INTERVAL_MS,
-        YarnConfiguration.DEFAULT_RM_AM_LIVENESS_MONITOR_INTERVAL_MS));
+    int expireIntvl = conf.getInt(
+            YarnConfiguration.RM_CONTAINER_ALLOC_EXPIRY_INTERVAL_MS,
+            YarnConfiguration.DEFAULT_RM_CONTAINER_ALLOC_EXPIRY_INTERVAL_MS);
+    setExpireInterval(expireIntvl);
+    setMonitorInterval(expireIntvl/3);
   }
 
   @Override