From 34acf9d4c8edfb5c1c1947057dd2516ca7a0c627 Mon Sep 17 00:00:00 2001 From: zhuqi-lucas <821684824@qq.com> Date: Wed, 21 Jul 2021 15:35:45 +0800 Subject: [PATCH] YARN-10860. Make max container per heartbeat configs refreshable. Contributed by Eric Badger. --- .../scheduler/capacity/CapacityScheduler.java | 11 ++++++++++- .../src/site/markdown/CapacityScheduler.md | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java index 7f41d8f305d..96688e6ba8b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java @@ -368,7 +368,10 @@ public class CapacityScheduler extends + getMinimumResourceCapability() + ">, " + "maximumAllocation=<" + getMaximumResourceCapability() + ">, " + "asynchronousScheduling=" + scheduleAsynchronously + ", " + "asyncScheduleInterval=" - + asyncScheduleInterval + "ms"); + + asyncScheduleInterval + "ms" + ", " + "assignMultipleEnabled=" + + assignMultipleEnabled + ", " + "maxAssignPerHeartbeat=" + + maxAssignPerHeartbeat + ", " + "offswitchPerHeartbeatLimit=" + + offswitchPerHeartbeatLimit); } finally { writeLock.unlock(); } @@ -453,7 +456,13 @@ public class CapacityScheduler extends this.isLazyPreemptionEnabled = this.conf.getLazyPreemptionEnabled(); // Setup how many containers we can allocate for each round + assignMultipleEnabled = this.conf.getAssignMultipleEnabled(); + maxAssignPerHeartbeat = this.conf.getMaxAssignPerHeartbeat(); offswitchPerHeartbeatLimit = this.conf.getOffSwitchPerHeartbeatLimit(); + + LOG.info("assignMultipleEnabled = " + assignMultipleEnabled + "\n" + + "maxAssignPerHeartbeat = " + maxAssignPerHeartbeat + "\n" + + "offswitchPerHeartbeatLimit = " + offswitchPerHeartbeatLimit); } finally { writeLock.unlock(); } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md index 1160528a36b..b66e145b6c3 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/CapacityScheduler.md @@ -285,7 +285,7 @@ The `ReservationSystem` is integrated with the `CapacityScheduler` queue hierach * Container Allocation per NodeManager Heartbeat - The `CapacityScheduler` supports the following parameters to control how many containers can be allocated in each NodeManager heartbeat. + The `CapacityScheduler` supports the following parameters to control how many containers can be allocated in each NodeManager heartbeat. These parameters are refreshable via *yarn rmadmin -refreshQueues*. | Property | Description | |:---- |:---- |