diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/utils/ServiceApiUtil.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/utils/ServiceApiUtil.java index d5ea45c..7f85c95 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/utils/ServiceApiUtil.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/utils/ServiceApiUtil.java @@ -330,13 +330,19 @@ public static void validateCompResourceSize( org.apache.hadoop.yarn.api.records.Resource maxResource, Service service) throws YarnException { for (Component component : service.getComponents()) { - // only handle mem now. long mem = Long.parseLong(component.getResource().getMemory()); if (mem > maxResource.getMemorySize()) { throw new YarnException( - "Component " + component.getName() + " memory size (" + mem - + ") is larger than configured max container memory size (" - + maxResource.getMemorySize() + ")"); + "Component " + component.getName() + ": specified memory size (" + + mem + ") is larger than configured max container memory " + + "size (" + maxResource.getMemorySize() + ")"); + } + int cpu = component.getResource().getCpus(); + if (cpu > maxResource.getVirtualCores()) { + throw new YarnException( + "Component " + component.getName() + ": specified number of " + + "virtual core (" + cpu + ") is larger than configured max " + + "virtual core size (" + maxResource.getVirtualCores() + ")"); } } } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/utils/ServiceUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/utils/ServiceUtils.java index 173001b..915b836 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/utils/ServiceUtils.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/utils/ServiceUtils.java @@ -411,6 +411,10 @@ public static void putAllJars(Map providerResources, return; } for (File jarFile : listOfJars) { + if (!jarFile.exists()) { + log.debug("File does not exist, skipping: " + jarFile); + continue; + } LocalResource res = sliderFileSystem.submitFile(jarFile, tempPath, libDir, jarFile.getName()); providerResources.put(libDir + "/" + jarFile.getName(), res); }