瀏覽代碼

YARN-7936. Add default service AM Xmx. Contributed by Jian He

Billie Rinaldi 7 年之前
父節點
當前提交
53b3e59473

+ 7 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/client/ServiceClient.java

@@ -758,8 +758,13 @@ public class ServiceClient extends AppAdminClient implements SliderExitCodes,
       Path appRootDir, boolean hasSliderAMLog4j) throws BadConfigException {
     JavaCommandLineBuilder CLI = new JavaCommandLineBuilder();
     CLI.forceIPv4().headless();
-    CLI.setJVMOpts(YarnServiceConf.get(YarnServiceConf.JVM_OPTS, null,
-        app.getConfiguration(), conf));
+    String jvmOpts = YarnServiceConf
+        .get(YarnServiceConf.JVM_OPTS, "", app.getConfiguration(), conf);
+    if (!jvmOpts.contains("-Xmx")) {
+      jvmOpts += DEFAULT_AM_JVM_XMX;
+    }
+
+    CLI.setJVMOpts(jvmOpts);
     if (hasSliderAMLog4j) {
       CLI.sysprop(SYSPROP_LOG4J_CONFIGURATION, YARN_SERVICE_LOG4J_FILENAME);
       CLI.sysprop(SYSPROP_LOG_DIR, ApplicationConstants.LOG_DIR_EXPANSION_VAR);

+ 2 - 0
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/conf/YarnServiceConf.java

@@ -38,6 +38,8 @@ public class YarnServiceConf {
   public static final String AM_RESOURCE_MEM = "yarn.service.am-resource.memory";
   public static final long DEFAULT_KEY_AM_RESOURCE_MEM = 1024;
 
+  public static final String DEFAULT_AM_JVM_XMX = " -Xmx768m ";
+
   public static final String YARN_QUEUE = "yarn.service.queue";
 
   public static final String API_SERVER_ADDRESS = "yarn.service.api-server.address";