Skip to content

Commit

Permalink
YARN-7522. Introduce AllocationTagsManager to associate allocation ta…
Browse files Browse the repository at this point in the history
…gs to nodes. (Wangda Tan via asuresh)
  • Loading branch information
xslogic committed Jan 31, 2018
1 parent 69de9a1 commit 801c098
Show file tree
Hide file tree
Showing 13 changed files with 1,033 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMDelegatedNodeLabelsUpdater;
import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMNodeLabelsManager;
import org.apache.hadoop.yarn.server.resourcemanager.placement.PlacementManager;
import org.apache.hadoop.yarn.server.resourcemanager.constraint.AllocationTagsManager;
import org.apache.hadoop.yarn.server.resourcemanager.recovery.NullRMStateStore;
import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore;
import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationSystem;
Expand Down Expand Up @@ -107,6 +108,7 @@ public class RMActiveServiceContext {

private RMAppLifetimeMonitor rmAppLifetimeMonitor;
private QueueLimitCalculator queueLimitCalculator;
private AllocationTagsManager allocationTagsManager;

public RMActiveServiceContext() {
queuePlacementManager = new PlacementManager();
Expand Down Expand Up @@ -396,6 +398,19 @@ public void setNodeLabelManager(RMNodeLabelsManager mgr) {
nodeLabelManager = mgr;
}

@Private
@Unstable
public AllocationTagsManager getAllocationTagsManager() {
return allocationTagsManager;
}

@Private
@Unstable
public void setAllocationTagsManager(
AllocationTagsManager allocationTagsManager) {
this.allocationTagsManager = allocationTagsManager;
}

@Private
@Unstable
public RMDelegatedNodeLabelsUpdater getRMDelegatedNodeLabelsUpdater() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import org.apache.hadoop.yarn.server.resourcemanager.metrics.SystemMetricsPublisher;
import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMNodeLabelsManager;
import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMDelegatedNodeLabelsUpdater;
import org.apache.hadoop.yarn.server.resourcemanager.constraint.AllocationTagsManager;
import org.apache.hadoop.yarn.server.resourcemanager.placement.PlacementManager;
import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore;
import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationSystem;
Expand Down Expand Up @@ -166,4 +167,8 @@ void setRMDelegatedNodeLabelsUpdater(
void setResourceProfilesManager(ResourceProfilesManager mgr);

String getAppProxyUrl(Configuration conf, ApplicationId applicationId);

AllocationTagsManager getAllocationTagsManager();

void setAllocationTagsManager(AllocationTagsManager allocationTagsManager);
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
import org.apache.hadoop.yarn.server.resourcemanager.metrics.SystemMetricsPublisher;
import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMNodeLabelsManager;
import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMDelegatedNodeLabelsUpdater;
import org.apache.hadoop.yarn.server.resourcemanager.constraint.AllocationTagsManager;
import org.apache.hadoop.yarn.server.resourcemanager.placement.PlacementManager;
import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore;
import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationSystem;
Expand Down Expand Up @@ -503,6 +504,17 @@ public void setNodeLabelManager(RMNodeLabelsManager mgr) {
activeServiceContext.setNodeLabelManager(mgr);
}

@Override
public AllocationTagsManager getAllocationTagsManager() {
return activeServiceContext.getAllocationTagsManager();
}

@Override
public void setAllocationTagsManager(
AllocationTagsManager allocationTagsManager) {
activeServiceContext.setAllocationTagsManager(allocationTagsManager);
}

@Override
public RMDelegatedNodeLabelsUpdater getRMDelegatedNodeLabelsUpdater() {
return activeServiceContext.getRMDelegatedNodeLabelsUpdater();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
import org.apache.hadoop.yarn.server.resourcemanager.metrics.CombinedSystemMetricsPublisher;
import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMDelegatedNodeLabelsUpdater;
import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMNodeLabelsManager;
import org.apache.hadoop.yarn.server.resourcemanager.constraint.AllocationTagsManager;
import org.apache.hadoop.yarn.server.resourcemanager.recovery.NullRMStateStore;
import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore;
import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore.RMState;
Expand Down Expand Up @@ -493,6 +494,10 @@ protected RMNodeLabelsManager createNodeLabelManager()
throws InstantiationException, IllegalAccessException {
return new RMNodeLabelsManager();
}

protected AllocationTagsManager createAllocationTagsManager() {
return new AllocationTagsManager();
}

protected DelegationTokenRenewer createDelegationTokenRenewer() {
return new DelegationTokenRenewer();
Expand Down Expand Up @@ -619,6 +624,10 @@ protected void serviceInit(Configuration configuration) throws Exception {
addService(nlm);
rmContext.setNodeLabelManager(nlm);

AllocationTagsManager allocationTagsManager =
createAllocationTagsManager();
rmContext.setAllocationTagsManager(allocationTagsManager);

RMDelegatedNodeLabelsUpdater delegatedNodeLabelsUpdater =
createRMDelegatedNodeLabelsUpdater();
if (delegatedNodeLabelsUpdater != null) {
Expand Down

0 comments on commit 801c098

Please sign in to comment.