The ApplicationMaster
requests a NodeManager
to start a {@link Container} allocated to it using this interface.
The ApplicationMaster
has to provide details such as allocated resource capability, security tokens (if enabled), command to be executed to start the container, environment for the process, necessary binaries/jar/shared-objects etc. via the {@link ContainerLaunchContext} in the {@link StartContainerRequest}.
Currently the NodeManager
sends an immediate, empty response via {@link StartContainerResponse} to signify acceptance of therequest and throws an exception in case of errors. The ApplicationMaster
can use {@link #getContainerStatus(GetContainerStatusRequest)} to get updated status of the to-be-launched or launched container.
@param request request to start a container
@return empty response to indicate acceptance of the request or an exception
@throws YarnRemoteException