@InterfaceAudience.Public @InterfaceStability.Stable public abstract class AllocateResponse extends Object
ResourceManager
the
ApplicationMaster
during resource negotiation.
The response, includes:
ApplicationMaster
take some actions (resync, shutdown etc.).
Container
.Container
s' statuses.Constructor and Description |
---|
AllocateResponse() |
Modifier and Type | Method and Description |
---|---|
abstract List<Container> |
getAllocatedContainers()
Get the list of newly allocated
Container by the
ResourceManager . |
abstract AMCommand |
getAMCommand()
If the
ResourceManager needs the
ApplicationMaster to take some action then it will send an
AMCommand to the ApplicationMaster . |
abstract Token |
getAMRMToken()
The AMRMToken that belong to this attempt
|
abstract Resource |
getAvailableResources()
Get the available headroom for resources in the cluster for the
application.
|
abstract List<ContainerStatus> |
getCompletedContainersStatuses()
Get the list of completed containers' statuses.
|
abstract List<org.apache.hadoop.yarn.api.records.ContainerResourceDecrease> |
getDecreasedContainers()
Get the list of newly decreased containers by
NodeManager |
abstract List<org.apache.hadoop.yarn.api.records.ContainerResourceIncrease> |
getIncreasedContainers()
Get the list of newly increased containers by
ResourceManager |
abstract List<NMToken> |
getNMTokens()
Get the list of NMTokens required for communicating with NM.
|
abstract int |
getNumClusterNodes()
Get the number of hosts available on the cluster.
|
abstract PreemptionMessage |
getPreemptionMessage()
Get the description of containers owned by the AM, but requested back by
the cluster.
|
abstract int |
getResponseId()
Get the last response id.
|
abstract List<NodeReport> |
getUpdatedNodes()
Get the list of updated
NodeReport s. |
static AllocateResponse |
newInstance(int responseId,
List<ContainerStatus> completedContainers,
List<Container> allocatedContainers,
List<NodeReport> updatedNodes,
Resource availResources,
AMCommand command,
int numClusterNodes,
PreemptionMessage preempt,
List<NMToken> nmTokens) |
static AllocateResponse |
newInstance(int responseId,
List<ContainerStatus> completedContainers,
List<Container> allocatedContainers,
List<NodeReport> updatedNodes,
Resource availResources,
AMCommand command,
int numClusterNodes,
PreemptionMessage preempt,
List<NMToken> nmTokens,
List<org.apache.hadoop.yarn.api.records.ContainerResourceIncrease> increasedContainers,
List<org.apache.hadoop.yarn.api.records.ContainerResourceDecrease> decreasedContainers) |
public AllocateResponse()
@InterfaceAudience.Public @InterfaceStability.Stable public static AllocateResponse newInstance(int responseId, List<ContainerStatus> completedContainers, List<Container> allocatedContainers, List<NodeReport> updatedNodes, Resource availResources, AMCommand command, int numClusterNodes, PreemptionMessage preempt, List<NMToken> nmTokens)
@InterfaceAudience.Public @InterfaceStability.Stable public static AllocateResponse newInstance(int responseId, List<ContainerStatus> completedContainers, List<Container> allocatedContainers, List<NodeReport> updatedNodes, Resource availResources, AMCommand command, int numClusterNodes, PreemptionMessage preempt, List<NMToken> nmTokens, List<org.apache.hadoop.yarn.api.records.ContainerResourceIncrease> increasedContainers, List<org.apache.hadoop.yarn.api.records.ContainerResourceDecrease> decreasedContainers)
@InterfaceAudience.Public @InterfaceStability.Stable public abstract AMCommand getAMCommand()
ResourceManager
needs the
ApplicationMaster
to take some action then it will send an
AMCommand to the ApplicationMaster
. See AMCommand
for details on commands and actions for them.AMCommand
if the ApplicationMaster
should
take action, null
otherwiseAMCommand
@InterfaceAudience.Public @InterfaceStability.Stable public abstract int getResponseId()
@InterfaceAudience.Public @InterfaceStability.Stable public abstract List<Container> getAllocatedContainers()
Container
by the
ResourceManager
.Container
@InterfaceAudience.Public @InterfaceStability.Stable public abstract Resource getAvailableResources()
@InterfaceAudience.Public @InterfaceStability.Stable public abstract List<ContainerStatus> getCompletedContainersStatuses()
@InterfaceAudience.Public @InterfaceStability.Stable public abstract List<NodeReport> getUpdatedNodes()
NodeReport
s. Updates could
be changes in health, availability etc of the nodes.@InterfaceAudience.Public @InterfaceStability.Stable public abstract int getNumClusterNodes()
@InterfaceAudience.Public @InterfaceStability.Evolving public abstract PreemptionMessage getPreemptionMessage()
The message is a snapshot of the resources the RM wants back from the AM. While demand persists, the RM will repeat its request; applications should not interpret each message as a request for additional resources on top of previous messages. Resources requested consistently over some duration may be forcibly killed by the RM.
@InterfaceAudience.Public @InterfaceStability.Stable public abstract List<NMToken> getNMTokens()
1) AM is receiving first container on underlying NodeManager.
OR
2) NMToken master key rolled over in ResourceManager and AM is getting new
container on the same underlying NodeManager.
AM will receive one NMToken per NM irrespective of the number of containers issued on same NM. AM is expected to store these tokens until issued a new token for the same NM.
@InterfaceAudience.Public @InterfaceStability.Stable public abstract List<org.apache.hadoop.yarn.api.records.ContainerResourceIncrease> getIncreasedContainers()
ResourceManager
@InterfaceAudience.Public @InterfaceStability.Stable public abstract List<org.apache.hadoop.yarn.api.records.ContainerResourceDecrease> getDecreasedContainers()
NodeManager
@InterfaceAudience.Public @InterfaceStability.Unstable public abstract Token getAMRMToken()
Copyright © 2017 Apache Software Foundation. All rights reserved.