YARN-4778. Support specifying resources for task containers in SLS. Contributed by Wangda Tan
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/996a210a Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/996a210a Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/996a210a Branch: refs/heads/HDFS-1312 Commit: 996a210ab0131606639ba87fd5daab14bf05b35f Parents: b9e5a32 Author: Jian He <jia...@apache.org> Authored: Mon May 9 14:49:10 2016 -0700 Committer: Jian He <jia...@apache.org> Committed: Mon May 9 14:49:41 2016 -0700 ---------------------------------------------------------------------- .../org/apache/hadoop/yarn/sls/SLSRunner.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/996a210a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java index c792335..3be8ff1 100644 --- a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java +++ b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java @@ -64,6 +64,7 @@ import org.apache.hadoop.yarn.sls.scheduler.SLSCapacityScheduler; import org.apache.hadoop.yarn.sls.scheduler.SchedulerWrapper; import org.apache.hadoop.yarn.sls.scheduler.TaskRunner; import org.apache.hadoop.yarn.sls.utils.SLSUtils; +import org.apache.hadoop.yarn.util.resource.Resources; import org.apache.log4j.Logger; import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.map.ObjectMapper; @@ -316,10 +317,25 @@ public class SLSRunner { long taskFinish = Long.parseLong( jsonTask.get("container.end.ms").toString()); long lifeTime = taskFinish - taskStart; + + // Set memory and vcores from job trace file + Resource res = Resources.clone(containerResource); + if (jsonTask.containsKey("container.memory")) { + int containerMemory = Integer.parseInt( + jsonTask.get("container.memory").toString()); + res.setMemory(containerMemory); + } + + if (jsonTask.containsKey("container.vcores")) { + int containerVCores = Integer.parseInt( + jsonTask.get("container.vcores").toString()); + res.setVirtualCores(containerVCores); + } + int priority = Integer.parseInt( jsonTask.get("container.priority").toString()); String type = jsonTask.get("container.type").toString(); - containerList.add(new ContainerSimulator(containerResource, + containerList.add(new ContainerSimulator(res, lifeTime, hostname, priority, type)); } --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org