YARN-10860. Make max container per heartbeat configs refreshable. Contributed by Eric Badger.

This commit is contained in:
zhuqi-lucas 2021-07-22 10:12:32 +08:00
parent ec3311975c
commit c31618e6b9
2 changed files with 11 additions and 2 deletions

View File

@ -391,7 +391,10 @@ void initScheduler(Configuration configuration) throws
+ getMaximumResourceCapability() + ">, " + "asynchronousScheduling=" + getMaximumResourceCapability() + ">, " + "asynchronousScheduling="
+ scheduleAsynchronously + ", " + "asyncScheduleInterval=" + scheduleAsynchronously + ", " + "asyncScheduleInterval="
+ asyncScheduleInterval + "ms" + ",multiNodePlacementEnabled=" + asyncScheduleInterval + "ms" + ",multiNodePlacementEnabled="
+ multiNodePlacementEnabled); + multiNodePlacementEnabled + ", " + "assignMultipleEnabled="
+ assignMultipleEnabled + ", " + "maxAssignPerHeartbeat="
+ maxAssignPerHeartbeat + ", " + "offswitchPerHeartbeatLimit="
+ offswitchPerHeartbeatLimit);
} finally { } finally {
writeLock.unlock(); writeLock.unlock();
} }
@ -483,8 +486,14 @@ public void reinitialize(Configuration newConf, RMContext rmContext,
this.isLazyPreemptionEnabled = this.conf.getLazyPreemptionEnabled(); this.isLazyPreemptionEnabled = this.conf.getLazyPreemptionEnabled();
// Setup how many containers we can allocate for each round // Setup how many containers we can allocate for each round
assignMultipleEnabled = this.conf.getAssignMultipleEnabled();
maxAssignPerHeartbeat = this.conf.getMaxAssignPerHeartbeat();
offswitchPerHeartbeatLimit = this.conf.getOffSwitchPerHeartbeatLimit(); offswitchPerHeartbeatLimit = this.conf.getOffSwitchPerHeartbeatLimit();
LOG.info("assignMultipleEnabled = " + assignMultipleEnabled + "\n" +
"maxAssignPerHeartbeat = " + maxAssignPerHeartbeat + "\n" +
"offswitchPerHeartbeatLimit = " + offswitchPerHeartbeatLimit);
super.reinitialize(newConf, rmContext); super.reinitialize(newConf, rmContext);
} }
maxRunningEnforcer.updateRunnabilityOnReload(); maxRunningEnforcer.updateRunnabilityOnReload();

View File

@ -468,7 +468,7 @@ Note, this feature should be disabled if YARN is deployed separately with the fi
* Container Allocation per NodeManager Heartbeat * 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 | | Property | Description |
|:---- |:---- | |:---- |:---- |