@InterfaceAudience.Private @InterfaceStability.Unstable public class SchedulerUtils extends Object
Modifier and Type | Class and Description |
---|---|
static class |
SchedulerUtils.MaxResourceValidationResult
This class contains invalid resource information along with its
resource request.
|
Modifier and Type | Field and Description |
---|---|
static String |
COMPLETED_APPLICATION |
static String |
EXPIRED_CONTAINER |
static String |
LOST_CONTAINER |
static String |
PREEMPTED_CONTAINER |
static String |
RELEASED_CONTAINER |
static String |
UNRESERVED_CONTAINER |
static String |
UPDATED_CONTAINER |
Constructor and Description |
---|
SchedulerUtils() |
Modifier and Type | Method and Description |
---|---|
static boolean |
checkQueueLabelExpression(Set<String> queueLabels,
String labelExpression,
RMContext rmContext)
Check queue label expression, check if node label in queue's
node-label-expression existed in clusterNodeLabels if rmContext != null
|
static org.apache.hadoop.yarn.api.records.ContainerStatus |
createAbnormalContainerStatus(org.apache.hadoop.yarn.api.records.ContainerId containerId,
String diagnostics)
Utility to create a
ContainerStatus during exceptional
circumstances. |
static org.apache.hadoop.yarn.api.records.ContainerStatus |
createKilledContainerStatus(org.apache.hadoop.yarn.api.records.ContainerId containerId,
String diagnostics)
Utility to create a
ContainerStatus for killed containers. |
static RMContainer |
createOpportunisticRmContainer(RMContext rmContext,
org.apache.hadoop.yarn.api.records.Container container,
boolean isRemotelyAllocated) |
static org.apache.hadoop.yarn.api.records.ContainerStatus |
createPreemptedContainerStatus(org.apache.hadoop.yarn.api.records.ContainerId containerId,
String diagnostics)
Utility to create a
ContainerStatus during exceptional
circumstances. |
static void |
enforcePartitionExclusivity(org.apache.hadoop.yarn.api.records.ResourceRequest resReq,
Set<String> enforcedPartitions,
String appLabel)
If RM should enforce partition exclusivity for enforced partition "x":
1) If request is "x" and app label is not "x",
override request to app's label.
|
static org.apache.hadoop.yarn.api.records.Resource |
getNormalizedResource(org.apache.hadoop.yarn.api.records.Resource ask,
org.apache.hadoop.yarn.util.resource.ResourceCalculator resourceCalculator,
org.apache.hadoop.yarn.api.records.Resource minimumResource,
org.apache.hadoop.yarn.api.records.Resource maximumResource,
org.apache.hadoop.yarn.api.records.Resource incrementResource)
Utility method to normalize a resource request, by ensuring that the
requested memory is a multiple of increment resource and is not zero.
|
static boolean |
hasPendingResourceRequest(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc,
ResourceUsage usage,
String nodePartition,
org.apache.hadoop.yarn.api.records.Resource cluster,
SchedulingMode schedulingMode) |
static void |
normalizeAndValidateRequest(org.apache.hadoop.yarn.api.records.ResourceRequest resReq,
org.apache.hadoop.yarn.api.records.Resource maximumAllocation,
String queueName,
boolean isRecovery,
RMContext rmContext,
org.apache.hadoop.yarn.api.records.QueueInfo queueInfo,
boolean nodeLabelsEnabled) |
static void |
normalizeAndValidateRequest(org.apache.hadoop.yarn.api.records.ResourceRequest resReq,
org.apache.hadoop.yarn.api.records.Resource maximumAllocation,
String queueName,
RMContext rmContext,
org.apache.hadoop.yarn.api.records.QueueInfo queueInfo,
boolean nodeLabelsEnabled) |
static void |
normalizeRequest(org.apache.hadoop.yarn.api.records.ResourceRequest ask,
org.apache.hadoop.yarn.util.resource.ResourceCalculator resourceCalculator,
org.apache.hadoop.yarn.api.records.Resource minimumResource,
org.apache.hadoop.yarn.api.records.Resource maximumResource)
Utility method to normalize a resource request, by ensuring that the
requested memory is a multiple of minMemory and is not zero.
|
static org.apache.hadoop.yarn.security.AccessType |
toAccessType(org.apache.hadoop.yarn.api.records.QueueACL acl) |
static SchedulerUtils.MaxResourceValidationResult |
validateResourceRequestsAgainstQueueMaxResource(org.apache.hadoop.yarn.api.records.ResourceRequest resReq,
org.apache.hadoop.yarn.api.records.Resource availableResource) |
public static final String RELEASED_CONTAINER
public static final String UPDATED_CONTAINER
public static final String LOST_CONTAINER
public static final String PREEMPTED_CONTAINER
public static final String COMPLETED_APPLICATION
public static final String EXPIRED_CONTAINER
public static final String UNRESERVED_CONTAINER
public static org.apache.hadoop.yarn.api.records.ContainerStatus createAbnormalContainerStatus(org.apache.hadoop.yarn.api.records.ContainerId containerId, String diagnostics)
ContainerStatus
during exceptional
circumstances.containerId
- ContainerId
of returned/released/lost container.diagnostics
- diagnostic messageContainerStatus
for an returned/released/lost
containerpublic static org.apache.hadoop.yarn.api.records.ContainerStatus createKilledContainerStatus(org.apache.hadoop.yarn.api.records.ContainerId containerId, String diagnostics)
ContainerStatus
for killed containers.containerId
- ContainerId
of the killed container.diagnostics
- diagnostic messageContainerStatus
for a killed containerpublic static org.apache.hadoop.yarn.api.records.ContainerStatus createPreemptedContainerStatus(org.apache.hadoop.yarn.api.records.ContainerId containerId, String diagnostics)
ContainerStatus
during exceptional
circumstances.containerId
- ContainerId
of returned/released/lost container.diagnostics
- diagnostic messageContainerStatus
for an returned/released/lost
containerpublic static void normalizeRequest(org.apache.hadoop.yarn.api.records.ResourceRequest ask, org.apache.hadoop.yarn.util.resource.ResourceCalculator resourceCalculator, org.apache.hadoop.yarn.api.records.Resource minimumResource, org.apache.hadoop.yarn.api.records.Resource maximumResource)
public static org.apache.hadoop.yarn.api.records.Resource getNormalizedResource(org.apache.hadoop.yarn.api.records.Resource ask, org.apache.hadoop.yarn.util.resource.ResourceCalculator resourceCalculator, org.apache.hadoop.yarn.api.records.Resource minimumResource, org.apache.hadoop.yarn.api.records.Resource maximumResource, org.apache.hadoop.yarn.api.records.Resource incrementResource)
public static void normalizeAndValidateRequest(org.apache.hadoop.yarn.api.records.ResourceRequest resReq, org.apache.hadoop.yarn.api.records.Resource maximumAllocation, String queueName, boolean isRecovery, RMContext rmContext, org.apache.hadoop.yarn.api.records.QueueInfo queueInfo, boolean nodeLabelsEnabled) throws org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException
org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException
public static void normalizeAndValidateRequest(org.apache.hadoop.yarn.api.records.ResourceRequest resReq, org.apache.hadoop.yarn.api.records.Resource maximumAllocation, String queueName, RMContext rmContext, org.apache.hadoop.yarn.api.records.QueueInfo queueInfo, boolean nodeLabelsEnabled) throws org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException
org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException
public static void enforcePartitionExclusivity(org.apache.hadoop.yarn.api.records.ResourceRequest resReq, Set<String> enforcedPartitions, String appLabel)
resReq
- resource requestenforcedPartitions
- list of exclusive enforced partitionsappLabel
- app's node label expressionpublic static SchedulerUtils.MaxResourceValidationResult validateResourceRequestsAgainstQueueMaxResource(org.apache.hadoop.yarn.api.records.ResourceRequest resReq, org.apache.hadoop.yarn.api.records.Resource availableResource) throws org.apache.hadoop.yarn.exceptions.SchedulerInvalidResoureRequestException
org.apache.hadoop.yarn.exceptions.SchedulerInvalidResoureRequestException
public static boolean checkQueueLabelExpression(Set<String> queueLabels, String labelExpression, RMContext rmContext)
public static org.apache.hadoop.yarn.security.AccessType toAccessType(org.apache.hadoop.yarn.api.records.QueueACL acl)
@InterfaceAudience.Private public static boolean hasPendingResourceRequest(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc, ResourceUsage usage, String nodePartition, org.apache.hadoop.yarn.api.records.Resource cluster, SchedulingMode schedulingMode)
public static RMContainer createOpportunisticRmContainer(RMContext rmContext, org.apache.hadoop.yarn.api.records.Container container, boolean isRemotelyAllocated)
Copyright © 2008–2022 Apache Software Foundation. All rights reserved.