org.apache.hadoop.yarn.server.nodemanager.containermanager
Class ContainerManagerImpl
java.lang.Object
org.apache.hadoop.service.AbstractService
org.apache.hadoop.service.CompositeService
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl
- All Implemented Interfaces:
- Closeable, org.apache.hadoop.service.Service, org.apache.hadoop.service.ServiceStateChangeListener, org.apache.hadoop.yarn.api.ContainerManagementProtocol, org.apache.hadoop.yarn.event.EventHandler<ContainerManagerEvent>
public class ContainerManagerImpl
- extends org.apache.hadoop.service.CompositeService
- implements org.apache.hadoop.service.ServiceStateChangeListener, org.apache.hadoop.yarn.api.ContainerManagementProtocol, org.apache.hadoop.yarn.event.EventHandler<ContainerManagerEvent>
| Nested classes/interfaces inherited from class org.apache.hadoop.service.CompositeService |
org.apache.hadoop.service.CompositeService.CompositeServiceShutdownHook |
| Nested classes/interfaces inherited from interface org.apache.hadoop.service.Service |
org.apache.hadoop.service.Service.STATE |
| Fields inherited from class org.apache.hadoop.service.CompositeService |
STOP_ONLY_STARTED_SERVICES |
|
Method Summary |
protected void |
authorizeGetAndStopContainerRequest(org.apache.hadoop.yarn.api.records.ContainerId containerId,
Container container,
boolean stopRequest,
org.apache.hadoop.yarn.security.NMTokenIdentifier identifier)
|
protected void |
authorizeStartRequest(org.apache.hadoop.yarn.security.NMTokenIdentifier nmTokenIdentifier,
org.apache.hadoop.yarn.security.ContainerTokenIdentifier containerTokenIdentifier)
|
protected void |
authorizeUser(org.apache.hadoop.security.UserGroupInformation remoteUgi,
org.apache.hadoop.yarn.security.NMTokenIdentifier nmTokenIdentifier)
|
void |
cleanUpApplicationsOnNMShutDown()
|
void |
cleanupContainersOnNMResync()
|
protected ContainersLauncher |
createContainersLauncher(Context context,
ContainerExecutor exec)
|
protected LogHandler |
createLogHandler(org.apache.hadoop.conf.Configuration conf,
Context context,
DeletionService deletionService)
|
protected ResourceLocalizationService |
createResourceLocalizationService(ContainerExecutor exec,
DeletionService deletionContext)
|
Map<String,ByteBuffer> |
getAuxServiceMetaData()
|
boolean |
getBlockNewContainerRequestsStatus()
|
ContainersMonitor |
getContainersMonitor()
|
org.apache.hadoop.yarn.api.protocolrecords.GetContainerStatusesResponse |
getContainerStatuses(org.apache.hadoop.yarn.api.protocolrecords.GetContainerStatusesRequest request)
Get a list of container statuses running on this NodeManager |
Context |
getContext()
|
protected org.apache.hadoop.security.UserGroupInformation |
getRemoteUgi()
|
void |
handle(ContainerManagerEvent event)
|
protected org.apache.hadoop.yarn.security.NMTokenIdentifier |
selectNMTokenIdentifier(org.apache.hadoop.security.UserGroupInformation remoteUgi)
|
void |
serviceInit(org.apache.hadoop.conf.Configuration conf)
|
protected void |
serviceStart()
|
void |
serviceStop()
|
void |
setBlockNewContainerRequests(boolean blockNewContainerRequests)
|
org.apache.hadoop.yarn.api.protocolrecords.StartContainersResponse |
startContainers(org.apache.hadoop.yarn.api.protocolrecords.StartContainersRequest requests)
Start a list of containers on this NodeManager. |
void |
stateChanged(org.apache.hadoop.service.Service service)
|
org.apache.hadoop.yarn.api.protocolrecords.StopContainersResponse |
stopContainers(org.apache.hadoop.yarn.api.protocolrecords.StopContainersRequest requests)
Stop a list of containers running on this NodeManager. |
protected void |
updateNMTokenIdentifier(org.apache.hadoop.yarn.security.NMTokenIdentifier nmTokenIdentifier)
|
protected org.apache.hadoop.yarn.security.ContainerTokenIdentifier |
verifyAndGetContainerTokenIdentifier(org.apache.hadoop.yarn.api.records.Token token,
org.apache.hadoop.yarn.security.ContainerTokenIdentifier containerTokenIdentifier)
|
| Methods inherited from class org.apache.hadoop.service.CompositeService |
addIfService, addService, getServices, removeService |
| Methods inherited from class org.apache.hadoop.service.AbstractService |
close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop |
dirsHandler
protected LocalDirsHandlerService dirsHandler
dispatcher
protected final org.apache.hadoop.yarn.event.AsyncDispatcher dispatcher
ContainerManagerImpl
public ContainerManagerImpl(Context context,
ContainerExecutor exec,
DeletionService deletionContext,
NodeStatusUpdater nodeStatusUpdater,
NodeManagerMetrics metrics,
org.apache.hadoop.yarn.server.security.ApplicationACLsManager aclsManager,
LocalDirsHandlerService dirsHandler)
serviceInit
public void serviceInit(org.apache.hadoop.conf.Configuration conf)
throws Exception
- Overrides:
serviceInit in class org.apache.hadoop.service.CompositeService
- Throws:
Exception
createLogHandler
protected LogHandler createLogHandler(org.apache.hadoop.conf.Configuration conf,
Context context,
DeletionService deletionService)
getContainersMonitor
public ContainersMonitor getContainersMonitor()
createResourceLocalizationService
protected ResourceLocalizationService createResourceLocalizationService(ContainerExecutor exec,
DeletionService deletionContext)
createContainersLauncher
protected ContainersLauncher createContainersLauncher(Context context,
ContainerExecutor exec)
serviceStart
protected void serviceStart()
throws Exception
- Overrides:
serviceStart in class org.apache.hadoop.service.CompositeService
- Throws:
Exception
serviceStop
public void serviceStop()
throws Exception
- Overrides:
serviceStop in class org.apache.hadoop.service.CompositeService
- Throws:
Exception
cleanUpApplicationsOnNMShutDown
public void cleanUpApplicationsOnNMShutDown()
cleanupContainersOnNMResync
public void cleanupContainersOnNMResync()
getRemoteUgi
protected org.apache.hadoop.security.UserGroupInformation getRemoteUgi()
throws org.apache.hadoop.yarn.exceptions.YarnException
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException
selectNMTokenIdentifier
@InterfaceAudience.Private
protected org.apache.hadoop.yarn.security.NMTokenIdentifier selectNMTokenIdentifier(org.apache.hadoop.security.UserGroupInformation remoteUgi)
authorizeUser
protected void authorizeUser(org.apache.hadoop.security.UserGroupInformation remoteUgi,
org.apache.hadoop.yarn.security.NMTokenIdentifier nmTokenIdentifier)
throws org.apache.hadoop.yarn.exceptions.YarnException
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException
authorizeStartRequest
@InterfaceAudience.Private
protected void authorizeStartRequest(org.apache.hadoop.yarn.security.NMTokenIdentifier nmTokenIdentifier,
org.apache.hadoop.yarn.security.ContainerTokenIdentifier containerTokenIdentifier)
throws org.apache.hadoop.yarn.exceptions.YarnException
- Parameters:
containerTokenIdentifier - of the container to be started
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException
startContainers
public org.apache.hadoop.yarn.api.protocolrecords.StartContainersResponse startContainers(org.apache.hadoop.yarn.api.protocolrecords.StartContainersRequest requests)
throws org.apache.hadoop.yarn.exceptions.YarnException,
IOException
- Start a list of containers on this NodeManager.
- Specified by:
startContainers in interface org.apache.hadoop.yarn.api.ContainerManagementProtocol
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException
IOException
verifyAndGetContainerTokenIdentifier
protected org.apache.hadoop.yarn.security.ContainerTokenIdentifier verifyAndGetContainerTokenIdentifier(org.apache.hadoop.yarn.api.records.Token token,
org.apache.hadoop.yarn.security.ContainerTokenIdentifier containerTokenIdentifier)
throws org.apache.hadoop.yarn.exceptions.YarnException,
org.apache.hadoop.security.token.SecretManager.InvalidToken
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException
org.apache.hadoop.security.token.SecretManager.InvalidToken
updateNMTokenIdentifier
@InterfaceAudience.Private
protected void updateNMTokenIdentifier(org.apache.hadoop.yarn.security.NMTokenIdentifier nmTokenIdentifier)
throws org.apache.hadoop.security.token.SecretManager.InvalidToken
- Throws:
org.apache.hadoop.security.token.SecretManager.InvalidToken
stopContainers
public org.apache.hadoop.yarn.api.protocolrecords.StopContainersResponse stopContainers(org.apache.hadoop.yarn.api.protocolrecords.StopContainersRequest requests)
throws org.apache.hadoop.yarn.exceptions.YarnException,
IOException
- Stop a list of containers running on this NodeManager.
- Specified by:
stopContainers in interface org.apache.hadoop.yarn.api.ContainerManagementProtocol
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException
IOException
getContainerStatuses
public org.apache.hadoop.yarn.api.protocolrecords.GetContainerStatusesResponse getContainerStatuses(org.apache.hadoop.yarn.api.protocolrecords.GetContainerStatusesRequest request)
throws org.apache.hadoop.yarn.exceptions.YarnException,
IOException
- Get a list of container statuses running on this NodeManager
- Specified by:
getContainerStatuses in interface org.apache.hadoop.yarn.api.ContainerManagementProtocol
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException
IOException
authorizeGetAndStopContainerRequest
@InterfaceAudience.Private
protected void authorizeGetAndStopContainerRequest(org.apache.hadoop.yarn.api.records.ContainerId containerId,
Container container,
boolean stopRequest,
org.apache.hadoop.yarn.security.NMTokenIdentifier identifier)
throws org.apache.hadoop.yarn.exceptions.YarnException
- Throws:
org.apache.hadoop.yarn.exceptions.YarnException
handle
public void handle(ContainerManagerEvent event)
- Specified by:
handle in interface org.apache.hadoop.yarn.event.EventHandler<ContainerManagerEvent>
setBlockNewContainerRequests
public void setBlockNewContainerRequests(boolean blockNewContainerRequests)
getBlockNewContainerRequestsStatus
@InterfaceAudience.Private
public boolean getBlockNewContainerRequestsStatus()
stateChanged
public void stateChanged(org.apache.hadoop.service.Service service)
- Specified by:
stateChanged in interface org.apache.hadoop.service.ServiceStateChangeListener
getContext
public Context getContext()
getAuxServiceMetaData
public Map<String,ByteBuffer> getAuxServiceMetaData()
Copyright © 2014 Apache Software Foundation. All Rights Reserved.