public class RMServerUtils
extends java.lang.Object
| Modifier and Type | Field | Description |
|---|---|---|
static org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport |
DUMMY_APPLICATION_RESOURCE_USAGE_REPORT |
Statically defined dummy ApplicationResourceUsageREport.
|
protected static org.apache.hadoop.yarn.factories.RecordFactory |
RECORD_FACTORY |
|
static java.lang.String |
RESOURCE_OUTSIDE_ALLOWED_RANGE |
|
static java.lang.String |
UPDATE_OUTSTANDING_ERROR |
| Constructor | Description |
|---|---|
RMServerUtils() |
| Modifier and Type | Method | Description |
|---|---|---|
static void |
checkSchedContainerChangeRequest(SchedContainerChangeRequest request,
boolean increase) |
Validate increase/decrease request.
|
static org.apache.hadoop.yarn.api.records.YarnApplicationAttemptState |
convertRmAppAttemptStateToYarnApplicationAttemptState(RMAppAttemptState currentState,
RMAppAttemptState previousState) |
|
static org.apache.hadoop.yarn.api.records.YarnApplicationAttemptState |
createApplicationAttemptState(RMAppAttemptState rmAppAttemptState) |
|
static org.apache.hadoop.yarn.api.records.YarnApplicationState |
createApplicationState(RMAppState rmAppState) |
|
static int |
getApplicableNodeCountForAM(RMContext rmContext,
org.apache.hadoop.conf.Configuration conf,
java.util.List<org.apache.hadoop.yarn.api.records.ResourceRequest> amReqs) |
Get applicable Node count for AM.
|
static java.lang.Long |
getOrDefault(java.util.Map<java.lang.String,java.lang.Long> map,
java.lang.String key,
java.lang.Long defaultValue) |
|
static void |
normalizeAndValidateRequests(java.util.List<org.apache.hadoop.yarn.api.records.ResourceRequest> ask,
org.apache.hadoop.yarn.api.records.Resource maximumAllocation,
java.lang.String queueName,
YarnScheduler scheduler,
RMContext rmContext,
boolean nodeLabelsEnabled) |
Utility method to validate a list resource requests, by ensuring that the
requested memory/vcore is non-negative and not greater than max.
|
static void |
processRMProxyUsersConf(org.apache.hadoop.conf.Configuration conf) |
Find all configs whose name starts with
YarnConfiguration.RM_PROXY_USER_PREFIX, and add a record for each one by
replacing the prefix with ProxyUsers.CONF_HADOOP_PROXYUSER.
|
static java.util.List<RMNode> |
queryRMNodes(RMContext context,
java.util.EnumSet<org.apache.hadoop.yarn.api.records.NodeState> acceptedStates) |
|
static ContainerUpdates |
validateAndSplitUpdateResourceRequests(RMContext rmContext,
org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest request,
org.apache.hadoop.yarn.api.records.Resource maximumAllocation,
java.util.List<org.apache.hadoop.yarn.api.records.UpdateContainerError> updateErrors) |
Check if we have:
- Request for same containerId and different target resource.
|
static void |
validateApplicationTimeouts(java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType,java.lang.Long> timeouts) |
|
static void |
validateBlacklistRequest(org.apache.hadoop.yarn.api.records.ResourceBlacklistRequest blacklistRequest) |
|
static void |
validateContainerReleaseRequest(java.util.List<org.apache.hadoop.yarn.api.records.ContainerId> containerReleaseList,
org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId) |
It will validate to make sure all the containers belong to correct
application attempt id.
|
static java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType,java.lang.Long> |
validateISO8601AndConvertToLocalTimeEpoch(java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType,java.lang.String> timeoutsInISO8601) |
Validate ISO8601 format with epoch time.
|
static org.apache.hadoop.security.UserGroupInformation |
verifyAdminAccess(org.apache.hadoop.yarn.security.YarnAuthorizationProvider authorizer,
java.lang.String method,
java.lang.String module,
org.slf4j.Logger LOG) |
Utility method to verify if the current user has access based on the
passed
AccessControlList |
static org.apache.hadoop.security.UserGroupInformation |
verifyAdminAccess(org.apache.hadoop.yarn.security.YarnAuthorizationProvider authorizer,
java.lang.String method,
org.slf4j.Logger LOG) |
public static final java.lang.String UPDATE_OUTSTANDING_ERROR
public static final java.lang.String RESOURCE_OUTSIDE_ALLOWED_RANGE
protected static final org.apache.hadoop.yarn.factories.RecordFactory RECORD_FACTORY
public static final org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport DUMMY_APPLICATION_RESOURCE_USAGE_REPORT
public static java.util.List<RMNode> queryRMNodes(RMContext context, java.util.EnumSet<org.apache.hadoop.yarn.api.records.NodeState> acceptedStates)
public static ContainerUpdates validateAndSplitUpdateResourceRequests(RMContext rmContext, org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest request, org.apache.hadoop.yarn.api.records.Resource maximumAllocation, java.util.List<org.apache.hadoop.yarn.api.records.UpdateContainerError> updateErrors)
rmContext - RM context.request - Allocate Request.maximumAllocation - Maximum Allocation.updateErrors - Container update errors.public static void normalizeAndValidateRequests(java.util.List<org.apache.hadoop.yarn.api.records.ResourceRequest> ask,
org.apache.hadoop.yarn.api.records.Resource maximumAllocation,
java.lang.String queueName,
YarnScheduler scheduler,
RMContext rmContext,
boolean nodeLabelsEnabled)
throws org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException
ask - resource request.maximumAllocation - Maximum Allocation.queueName - queue name.scheduler - YarnScheduler.rmContext - RMContext.nodeLabelsEnabled - the node labels feature enabled.org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException - when there is invalid request.public static void checkSchedContainerChangeRequest(SchedContainerChangeRequest request, boolean increase) throws org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException
- Throw exception when any other error happens
request - SchedContainerChangeRequest.increase - true, add container; false, decrease container.org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException - when there is invalid request.public static void validateBlacklistRequest(org.apache.hadoop.yarn.api.records.ResourceBlacklistRequest blacklistRequest)
throws org.apache.hadoop.yarn.exceptions.InvalidResourceBlacklistRequestException
org.apache.hadoop.yarn.exceptions.InvalidResourceBlacklistRequestExceptionpublic static void validateContainerReleaseRequest(java.util.List<org.apache.hadoop.yarn.api.records.ContainerId> containerReleaseList,
org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId)
throws org.apache.hadoop.yarn.exceptions.InvalidContainerReleaseException
InvalidContainerReleaseExceptioncontainerReleaseList - containers to be released as requested by
application master.appAttemptId - Application attempt Idorg.apache.hadoop.yarn.exceptions.InvalidContainerReleaseException - an Application Master tries to release containers not belonging to it using.public static org.apache.hadoop.security.UserGroupInformation verifyAdminAccess(org.apache.hadoop.yarn.security.YarnAuthorizationProvider authorizer,
java.lang.String method,
org.slf4j.Logger LOG)
throws java.io.IOException
java.io.IOExceptionpublic static org.apache.hadoop.security.UserGroupInformation verifyAdminAccess(org.apache.hadoop.yarn.security.YarnAuthorizationProvider authorizer,
java.lang.String method,
java.lang.String module,
org.slf4j.Logger LOG)
throws java.io.IOException
AccessControlListauthorizer - the AccessControlList to check againstmethod - the method name to be loggedmodule - like AdminService or NodeLabelManagerLOG - the logger to useUserGroupInformation of the current userjava.io.IOException - an I/O exception has occurred.public static org.apache.hadoop.yarn.api.records.YarnApplicationState createApplicationState(RMAppState rmAppState)
public static org.apache.hadoop.yarn.api.records.YarnApplicationAttemptState convertRmAppAttemptStateToYarnApplicationAttemptState(RMAppAttemptState currentState, RMAppAttemptState previousState)
public static org.apache.hadoop.yarn.api.records.YarnApplicationAttemptState createApplicationAttemptState(RMAppAttemptState rmAppAttemptState)
public static void processRMProxyUsersConf(org.apache.hadoop.conf.Configuration conf)
conf - Configuration.public static void validateApplicationTimeouts(java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType,java.lang.Long> timeouts)
throws org.apache.hadoop.yarn.exceptions.YarnException
org.apache.hadoop.yarn.exceptions.YarnExceptionpublic static java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType,java.lang.Long> validateISO8601AndConvertToLocalTimeEpoch(java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType,java.lang.String> timeoutsInISO8601)
throws org.apache.hadoop.yarn.exceptions.YarnException
timeoutsInISO8601 - formatorg.apache.hadoop.yarn.exceptions.YarnException - if given application timeout value is lesser than
current time.public static int getApplicableNodeCountForAM(RMContext rmContext, org.apache.hadoop.conf.Configuration conf, java.util.List<org.apache.hadoop.yarn.api.records.ResourceRequest> amReqs)
rmContext - contextconf - configurationamReqs - am resource requestspublic static java.lang.Long getOrDefault(java.util.Map<java.lang.String,java.lang.Long> map,
java.lang.String key,
java.lang.Long defaultValue)
Copyright © 2008–2025 Apache Software Foundation. All rights reserved.