Class RMAppManager
java.lang.Object
org.apache.hadoop.yarn.server.resourcemanager.RMAppManager
- All Implemented Interfaces:
org.apache.hadoop.yarn.event.EventHandler<RMAppManagerEvent>,Recoverable
public class RMAppManager
extends Object
implements org.apache.hadoop.yarn.event.EventHandler<RMAppManagerEvent>, Recoverable
This class manages the list of applications for the resource manager.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRMAppManager(RMContext context, YarnScheduler scheduler, ApplicationMasterService masterService, org.apache.hadoop.yarn.server.security.ApplicationACLsManager applicationACLsManager, org.apache.hadoop.conf.Configuration conf) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidprotected voidfinishApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId) voidfinishApplication4Test(org.apache.hadoop.yarn.api.records.ApplicationId applicationId) protected intgetQueuePath(String queueName) protected StringgetUserNameForPlacement(String user, org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext context, PlacementManager placementManager) voidhandle(RMAppManagerEvent event) voidlogApplicationSummary(org.apache.hadoop.yarn.api.records.ApplicationId appId) voidmoveApplicationAcrossQueue(org.apache.hadoop.yarn.api.records.ApplicationId applicationId, String targetQueue) moveToQueue will invoke scheduler api to perform move queue operation.voidrecover(RMStateStore.RMState state) protected voidrecoverApplication(ApplicationStateData appState, RMStateStore.RMState rmState) voidsetFederationStateStoreService(FederationStateStoreService stateStoreService) protected voidsubmitApplication(org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext submissionContext, long submitTime, String user) Deprecated.protected voidsubmitApplication(org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext submissionContext, long submitTime, org.apache.hadoop.security.UserGroupInformation userUgi) voidupdateApplicationPriority(org.apache.hadoop.security.UserGroupInformation callerUGI, org.apache.hadoop.yarn.api.records.ApplicationId applicationId, org.apache.hadoop.yarn.api.records.Priority newAppPriority) updateApplicationPriority will invoke scheduler api to update the new priority to RM and StateStore.updateApplicationTimeout(RMApp app, Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType, String> newTimeoutInISO8601Format) protected voidwriteAuditLog(org.apache.hadoop.yarn.api.records.ApplicationId appId)
-
Field Details
-
completedAppsInStateStore
protected int completedAppsInStateStore
-
-
Constructor Details
-
RMAppManager
public RMAppManager(RMContext context, YarnScheduler scheduler, ApplicationMasterService masterService, org.apache.hadoop.yarn.server.security.ApplicationACLsManager applicationACLsManager, org.apache.hadoop.conf.Configuration conf)
-
-
Method Details
-
logApplicationSummary
@VisibleForTesting public void logApplicationSummary(org.apache.hadoop.yarn.api.records.ApplicationId appId) -
getCompletedAppsListSize
protected int getCompletedAppsListSize() -
finishApplication
protected void finishApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId) -
writeAuditLog
protected void writeAuditLog(org.apache.hadoop.yarn.api.records.ApplicationId appId) -
checkAppNumCompletedLimit
protected void checkAppNumCompletedLimit() -
submitApplication
@VisibleForTesting @Deprecated protected void submitApplication(org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext submissionContext, long submitTime, String user) throws org.apache.hadoop.yarn.exceptions.YarnException Deprecated.- Throws:
org.apache.hadoop.yarn.exceptions.YarnException
-
submitApplication
@VisibleForTesting protected void submitApplication(org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext submissionContext, long submitTime, org.apache.hadoop.security.UserGroupInformation userUgi) throws org.apache.hadoop.yarn.exceptions.YarnException - Throws:
org.apache.hadoop.yarn.exceptions.YarnException
-
recoverApplication
protected void recoverApplication(ApplicationStateData appState, RMStateStore.RMState rmState) throws Exception - Throws:
Exception
-
getQueuePath
-
recover
- Specified by:
recoverin interfaceRecoverable- Throws:
Exception
-
handle
- Specified by:
handlein interfaceorg.apache.hadoop.yarn.event.EventHandler<RMAppManagerEvent>
-
updateApplicationTimeout
public Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType,String> updateApplicationTimeout(RMApp app, Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType, String> newTimeoutInISO8601Format) throws org.apache.hadoop.yarn.exceptions.YarnException- Throws:
org.apache.hadoop.yarn.exceptions.YarnException
-
updateApplicationPriority
public void updateApplicationPriority(org.apache.hadoop.security.UserGroupInformation callerUGI, org.apache.hadoop.yarn.api.records.ApplicationId applicationId, org.apache.hadoop.yarn.api.records.Priority newAppPriority) throws org.apache.hadoop.yarn.exceptions.YarnException updateApplicationPriority will invoke scheduler api to update the new priority to RM and StateStore.- Parameters:
callerUGI- userapplicationId- Application IdnewAppPriority- proposed new application priority- Throws:
org.apache.hadoop.yarn.exceptions.YarnException- Handle exceptions
-
moveApplicationAcrossQueue
public void moveApplicationAcrossQueue(org.apache.hadoop.yarn.api.records.ApplicationId applicationId, String targetQueue) throws org.apache.hadoop.yarn.exceptions.YarnException moveToQueue will invoke scheduler api to perform move queue operation.- Parameters:
applicationId- Application Id.targetQueue- Target queue to which this app has to be moved.- Throws:
org.apache.hadoop.yarn.exceptions.YarnException- Handle exceptions.
-
getUserNameForPlacement
@VisibleForTesting protected String getUserNameForPlacement(String user, org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext context, PlacementManager placementManager) throws org.apache.hadoop.yarn.exceptions.YarnException - Throws:
org.apache.hadoop.yarn.exceptions.YarnException
-
setFederationStateStoreService
@VisibleForTesting public void setFederationStateStoreService(FederationStateStoreService stateStoreService) -
checkAppNumCompletedLimit4Test
@VisibleForTesting public void checkAppNumCompletedLimit4Test() -
finishApplication4Test
@VisibleForTesting public void finishApplication4Test(org.apache.hadoop.yarn.api.records.ApplicationId applicationId)
-