use of org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMNodeLabelsManager in project hadoop by apache.
the class RMServerUtils method getApplicableNodeCountForAM.
/**
* Get applicable Node count for AM.
*
* @param rmContext context
* @param conf configuration
* @param amreq am resource request
* @return applicable node count
*/
public static int getApplicableNodeCountForAM(RMContext rmContext, Configuration conf, ResourceRequest amreq) {
if (YarnConfiguration.areNodeLabelsEnabled(conf)) {
RMNodeLabelsManager labelManager = rmContext.getNodeLabelManager();
String amNodeLabelExpression = amreq.getNodeLabelExpression();
amNodeLabelExpression = (amNodeLabelExpression == null || amNodeLabelExpression.trim().isEmpty()) ? RMNodeLabelsManager.NO_LABEL : amNodeLabelExpression;
return labelManager.getActiveNMCountPerLabel(amNodeLabelExpression);
}
return rmContext.getScheduler().getNumClusterNodes();
}
Aggregations