@InterfaceAudience.Private @InterfaceStability.Unstable public class SchedulerApplicationAttempt extends Object
Modifier and Type | Class and Description |
---|---|
static class |
SchedulerApplicationAttempt.ContainersAndNMTokensAllocation |
Modifier and Type | Field and Description |
---|---|
protected AppSchedulingInfo |
appSchedulingInfo |
protected org.apache.hadoop.yarn.api.records.ApplicationAttemptId |
attemptId |
protected org.apache.hadoop.yarn.api.records.Resource |
currentConsumption |
protected org.apache.hadoop.yarn.api.records.Resource |
currentReservation |
protected boolean |
isStopped |
protected long |
lastMemoryAggregateAllocationUpdateTime |
protected Map<org.apache.hadoop.yarn.api.records.Priority,Long> |
lastScheduledContainer |
protected Map<org.apache.hadoop.yarn.api.records.ContainerId,RMContainer> |
liveContainers |
protected List<RMContainer> |
newlyAllocatedContainers |
protected Queue |
queue |
protected Map<org.apache.hadoop.yarn.api.records.Priority,Map<org.apache.hadoop.yarn.api.records.NodeId,RMContainer>> |
reservedContainers |
protected RMContext |
rmContext |
Constructor and Description |
---|
SchedulerApplicationAttempt(org.apache.hadoop.yarn.api.records.ApplicationAttemptId applicationAttemptId,
String user,
Queue queue,
ActiveUsersManager activeUsersManager,
RMContext rmContext) |
Modifier and Type | Method and Description |
---|---|
protected void |
addReReservation(org.apache.hadoop.yarn.api.records.Priority priority) |
void |
addSchedulingOpportunity(org.apache.hadoop.yarn.api.records.Priority priority) |
void |
containerLaunchedOnNode(org.apache.hadoop.yarn.api.records.ContainerId containerId,
org.apache.hadoop.yarn.api.records.NodeId nodeId) |
org.apache.hadoop.yarn.api.records.Resource |
getAMResource() |
org.apache.hadoop.yarn.api.records.ApplicationAttemptId |
getApplicationAttemptId()
Get
ApplicationAttemptId of the application master. |
org.apache.hadoop.yarn.api.records.ApplicationId |
getApplicationId() |
AppSchedulingInfo |
getAppSchedulingInfo() |
org.apache.hadoop.yarn.api.records.Resource |
getCurrentConsumption() |
org.apache.hadoop.yarn.api.records.Resource |
getCurrentReservation()
Get total current reservations.
|
org.apache.hadoop.yarn.api.records.Resource |
getHeadroom()
Get available headroom in terms of resources for the application's user.
|
Map<org.apache.hadoop.yarn.api.records.Priority,Long> |
getLastScheduledContainer() |
Collection<RMContainer> |
getLiveContainers()
Get the live containers of the application.
|
Map<org.apache.hadoop.yarn.api.records.ContainerId,RMContainer> |
getLiveContainersMap() |
long |
getNewContainerId() |
int |
getNumReservedContainers(org.apache.hadoop.yarn.api.records.Priority priority) |
Set<org.apache.hadoop.yarn.api.records.ContainerId> |
getPendingRelease() |
Collection<org.apache.hadoop.yarn.api.records.Priority> |
getPriorities() |
Queue |
getQueue() |
String |
getQueueName() |
int |
getReReservations(org.apache.hadoop.yarn.api.records.Priority priority) |
List<RMContainer> |
getReservedContainers()
Get the list of reserved containers
|
org.apache.hadoop.yarn.api.records.Resource |
getResource(org.apache.hadoop.yarn.api.records.Priority priority) |
org.apache.hadoop.yarn.api.records.Resource |
getResourceLimit() |
org.apache.hadoop.yarn.api.records.ResourceRequest |
getResourceRequest(org.apache.hadoop.yarn.api.records.Priority priority,
String resourceName) |
Map<String,org.apache.hadoop.yarn.api.records.ResourceRequest> |
getResourceRequests(org.apache.hadoop.yarn.api.records.Priority priority) |
org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport |
getResourceUsageReport() |
RMContainer |
getRMContainer(org.apache.hadoop.yarn.api.records.ContainerId id) |
int |
getSchedulingOpportunities(org.apache.hadoop.yarn.api.records.Priority priority)
Return the number of times the application has been given an opportunity
to schedule a task at the given priority since the last time it
successfully did so.
|
int |
getTotalRequiredResources(org.apache.hadoop.yarn.api.records.Priority priority) |
boolean |
getUnmanagedAM() |
String |
getUser() |
void |
incNumAllocatedContainers(NodeType containerType,
NodeType requestType) |
boolean |
isAmRunning() |
boolean |
isBlacklisted(SchedulerNode node,
org.apache.commons.logging.Log myLog) |
boolean |
isBlacklisted(String resourceName) |
boolean |
isPending()
Is this application pending?
|
boolean |
isReserved(SchedulerNode node,
org.apache.hadoop.yarn.api.records.Priority priority)
Has the application reserved the given
node at the
given priority ? |
boolean |
isStopped() |
void |
move(Queue newQueue) |
SchedulerApplicationAttempt.ContainersAndNMTokensAllocation |
pullNewlyAllocatedContainersAndNMTokens() |
void |
recoverContainer(RMContainer rmContainer) |
void |
recoverResourceRequests(List<org.apache.hadoop.yarn.api.records.ResourceRequest> requests) |
RMContainer |
reserve(SchedulerNode node,
org.apache.hadoop.yarn.api.records.Priority priority,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.Container container) |
protected void |
resetReReservations(org.apache.hadoop.yarn.api.records.Priority priority) |
void |
resetSchedulingOpportunities(org.apache.hadoop.yarn.api.records.Priority priority)
Should be called when an application has successfully scheduled a container,
or when the scheduling locality threshold is relaxed.
|
void |
resetSchedulingOpportunities(org.apache.hadoop.yarn.api.records.Priority priority,
long currentTimeMs) |
void |
setAMResource(org.apache.hadoop.yarn.api.records.Resource amResource) |
void |
setAmRunning(boolean bool) |
void |
setApplicationHeadroomForMetrics(org.apache.hadoop.yarn.api.records.Resource headroom) |
void |
setHeadroom(org.apache.hadoop.yarn.api.records.Resource globalLimit) |
void |
showRequests() |
void |
stop(RMAppAttemptState rmAppAttemptFinalState) |
void |
subtractSchedulingOpportunity(org.apache.hadoop.yarn.api.records.Priority priority) |
void |
transferStateFromPreviousAttempt(SchedulerApplicationAttempt appAttempt) |
void |
updateBlacklist(List<String> blacklistAdditions,
List<String> blacklistRemovals) |
void |
updateResourceRequests(List<org.apache.hadoop.yarn.api.records.ResourceRequest> requests) |
protected long lastMemoryAggregateAllocationUpdateTime
protected final AppSchedulingInfo appSchedulingInfo
protected org.apache.hadoop.yarn.api.records.ApplicationAttemptId attemptId
protected Map<org.apache.hadoop.yarn.api.records.ContainerId,RMContainer> liveContainers
protected final Map<org.apache.hadoop.yarn.api.records.Priority,Map<org.apache.hadoop.yarn.api.records.NodeId,RMContainer>> reservedContainers
protected final org.apache.hadoop.yarn.api.records.Resource currentReservation
protected org.apache.hadoop.yarn.api.records.Resource currentConsumption
protected List<RMContainer> newlyAllocatedContainers
protected Map<org.apache.hadoop.yarn.api.records.Priority,Long> lastScheduledContainer
protected Queue queue
protected boolean isStopped
protected final RMContext rmContext
public SchedulerApplicationAttempt(org.apache.hadoop.yarn.api.records.ApplicationAttemptId applicationAttemptId, String user, Queue queue, ActiveUsersManager activeUsersManager, RMContext rmContext)
public Collection<RMContainer> getLiveContainers()
public AppSchedulingInfo getAppSchedulingInfo()
public boolean isPending()
public org.apache.hadoop.yarn.api.records.ApplicationAttemptId getApplicationAttemptId()
ApplicationAttemptId
of the application master.ApplicationAttemptId
of the application masterpublic org.apache.hadoop.yarn.api.records.ApplicationId getApplicationId()
public String getUser()
public Map<String,org.apache.hadoop.yarn.api.records.ResourceRequest> getResourceRequests(org.apache.hadoop.yarn.api.records.Priority priority)
public Set<org.apache.hadoop.yarn.api.records.ContainerId> getPendingRelease()
public long getNewContainerId()
public Collection<org.apache.hadoop.yarn.api.records.Priority> getPriorities()
public org.apache.hadoop.yarn.api.records.ResourceRequest getResourceRequest(org.apache.hadoop.yarn.api.records.Priority priority, String resourceName)
public int getTotalRequiredResources(org.apache.hadoop.yarn.api.records.Priority priority)
public org.apache.hadoop.yarn.api.records.Resource getResource(org.apache.hadoop.yarn.api.records.Priority priority)
public String getQueueName()
public org.apache.hadoop.yarn.api.records.Resource getAMResource()
public void setAMResource(org.apache.hadoop.yarn.api.records.Resource amResource)
public boolean isAmRunning()
public void setAmRunning(boolean bool)
public boolean getUnmanagedAM()
public RMContainer getRMContainer(org.apache.hadoop.yarn.api.records.ContainerId id)
protected void resetReReservations(org.apache.hadoop.yarn.api.records.Priority priority)
protected void addReReservation(org.apache.hadoop.yarn.api.records.Priority priority)
public int getReReservations(org.apache.hadoop.yarn.api.records.Priority priority)
@InterfaceStability.Stable @InterfaceAudience.Private public org.apache.hadoop.yarn.api.records.Resource getCurrentReservation()
public Queue getQueue()
public void updateResourceRequests(List<org.apache.hadoop.yarn.api.records.ResourceRequest> requests)
public void recoverResourceRequests(List<org.apache.hadoop.yarn.api.records.ResourceRequest> requests)
public void stop(RMAppAttemptState rmAppAttemptFinalState)
public boolean isStopped()
public List<RMContainer> getReservedContainers()
public RMContainer reserve(SchedulerNode node, org.apache.hadoop.yarn.api.records.Priority priority, RMContainer rmContainer, org.apache.hadoop.yarn.api.records.Container container)
public boolean isReserved(SchedulerNode node, org.apache.hadoop.yarn.api.records.Priority priority)
node
at the
given priority
?node
- node to be checkedpriority
- priority of reserved containerpublic void setHeadroom(org.apache.hadoop.yarn.api.records.Resource globalLimit)
public org.apache.hadoop.yarn.api.records.Resource getHeadroom()
public int getNumReservedContainers(org.apache.hadoop.yarn.api.records.Priority priority)
public void containerLaunchedOnNode(org.apache.hadoop.yarn.api.records.ContainerId containerId, org.apache.hadoop.yarn.api.records.NodeId nodeId)
public void showRequests()
public org.apache.hadoop.yarn.api.records.Resource getCurrentConsumption()
public SchedulerApplicationAttempt.ContainersAndNMTokensAllocation pullNewlyAllocatedContainersAndNMTokens()
public void updateBlacklist(List<String> blacklistAdditions, List<String> blacklistRemovals)
public boolean isBlacklisted(String resourceName)
public boolean isBlacklisted(SchedulerNode node, org.apache.commons.logging.Log myLog)
public void addSchedulingOpportunity(org.apache.hadoop.yarn.api.records.Priority priority)
public void subtractSchedulingOpportunity(org.apache.hadoop.yarn.api.records.Priority priority)
public int getSchedulingOpportunities(org.apache.hadoop.yarn.api.records.Priority priority)
public void resetSchedulingOpportunities(org.apache.hadoop.yarn.api.records.Priority priority)
priority
- The priority of the container scheduled.public void resetSchedulingOpportunities(org.apache.hadoop.yarn.api.records.Priority priority, long currentTimeMs)
public org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport getResourceUsageReport()
public Map<org.apache.hadoop.yarn.api.records.ContainerId,RMContainer> getLiveContainersMap()
public org.apache.hadoop.yarn.api.records.Resource getResourceLimit()
public Map<org.apache.hadoop.yarn.api.records.Priority,Long> getLastScheduledContainer()
public void transferStateFromPreviousAttempt(SchedulerApplicationAttempt appAttempt)
public void move(Queue newQueue)
public void recoverContainer(RMContainer rmContainer)
public void incNumAllocatedContainers(NodeType containerType, NodeType requestType)
public void setApplicationHeadroomForMetrics(org.apache.hadoop.yarn.api.records.Resource headroom)
Copyright © 2017 Apache Software Foundation. All Rights Reserved.