|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue
@InterfaceAudience.Private @InterfaceStability.Unstable public class LeafQueue
| Nested Class Summary | |
|---|---|
static class |
LeafQueue.User
|
| Field Summary | |
|---|---|
protected int |
maxApplications
|
protected int |
maxApplicationsPerUser
|
| Constructor Summary | |
|---|---|
LeafQueue(CapacitySchedulerContext cs,
String queueName,
CSQueue parent,
CSQueue old)
|
|
| Method Summary | |
|---|---|
CSAssignment |
assignContainers(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerNode node,
boolean needToUnreserve)
Assign containers to applications in the queue or it's children (if any). |
protected boolean |
assignToUser(org.apache.hadoop.yarn.api.records.Resource clusterResource,
String userName,
org.apache.hadoop.yarn.api.records.Resource limit,
FiCaSchedulerApp application,
boolean checkReservations,
Set<String> requestLabels)
|
void |
attachContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
RMContainer rmContainer)
Attach a container to this queue |
protected boolean |
checkLimitsToReserve(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
org.apache.hadoop.yarn.api.records.Resource capability,
boolean needToUnreserve)
|
void |
collectSchedulerApplications(Collection<org.apache.hadoop.yarn.api.records.ApplicationAttemptId> apps)
Adds all applications in the queue and its subqueues to the given collection. |
void |
completedContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
FiCaSchedulerNode node,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus,
RMContainerEventType event,
CSQueue childQueue,
boolean sortQueues)
A container assigned to the queue has completed. |
void |
detachContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
RMContainer rmContainer)
Detach a container from this queue |
protected boolean |
findNodeToUnreserve(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerNode node,
FiCaSchedulerApp application,
org.apache.hadoop.yarn.api.records.Priority priority,
org.apache.hadoop.yarn.api.records.Resource capability)
|
void |
finishApplication(org.apache.hadoop.yarn.api.records.ApplicationId application,
String user)
An application submitted to this queue has finished. |
void |
finishApplicationAttempt(FiCaSchedulerApp application,
String queue)
An application attempt submitted to this queue has finished. |
float |
getAbsActualCapacity()
Get actual capacity of the queue, this may be different from configured capacity when mis-config take place, like add labels to the cluster |
ActiveUsersManager |
getActiveUsersManager()
Get the ActiveUsersManager for the queue. |
Set<FiCaSchedulerApp> |
getApplications()
Obtain (read-only) collection of active applications. |
protected float |
getCapacityFromConf()
|
List<CSQueue> |
getChildQueues()
Get child queues |
protected org.apache.hadoop.yarn.api.records.Resource |
getHeadroom(LeafQueue.User user,
org.apache.hadoop.yarn.api.records.Resource queueMaxCap,
org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
org.apache.hadoop.yarn.api.records.Resource required)
|
float |
getMaxAMResourcePerQueuePercent()
Used only by tests. |
int |
getMaxApplications()
|
int |
getMaxApplicationsPerUser()
|
int |
getMaximumActiveApplications()
|
int |
getMaximumActiveApplicationsPerUser()
|
float |
getMinimumAllocationFactor()
Used only by tests. |
int |
getNodeLocalityDelay()
|
int |
getNumActiveApplications()
|
int |
getNumActiveApplications(String user)
|
int |
getNumApplications()
Get the number of applications in the queue. |
int |
getNumApplications(String user)
|
int |
getNumContainers()
|
int |
getNumPendingApplications()
|
int |
getNumPendingApplications(String user)
|
org.apache.hadoop.yarn.api.records.QueueInfo |
getQueueInfo(boolean includeChildQueues,
boolean recursive)
Get queue information |
String |
getQueuePath()
Get the full name of the queue, including the heirarchy. |
List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo> |
getQueueUserAclInfo(org.apache.hadoop.security.UserGroupInformation user)
Get queue ACLs for given user. |
org.apache.hadoop.yarn.api.records.QueueState |
getState()
Get the current run-state of the queue |
org.apache.hadoop.yarn.api.records.Resource |
getTotalResourcePending()
|
LeafQueue.User |
getUser(String userName)
|
int |
getUserLimit()
|
float |
getUserLimitFactor()
|
ArrayList<UserInfo> |
getUsers()
|
void |
recoverContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
SchedulerApplicationAttempt attempt,
RMContainer rmContainer)
Recover the state of the queue for a given container. |
void |
reinitialize(CSQueue newlyParsedQueue,
org.apache.hadoop.yarn.api.records.Resource clusterResource)
Reinitialize the queue. |
void |
removeApplicationAttempt(FiCaSchedulerApp application,
LeafQueue.User user)
|
void |
setAbsoluteCapacity(float absoluteCapacity)
|
void |
setCapacity(float capacity)
|
void |
setMaxApplications(int maxApplications)
|
void |
setNodeLabelManager(RMNodeLabelsManager mgr)
|
protected void |
setupQueueConfigs(org.apache.hadoop.yarn.api.records.Resource clusterResource,
float capacity,
float absoluteCapacity,
float maximumCapacity,
float absoluteMaxCapacity,
int userLimit,
float userLimitFactor,
int maxApplications,
float maxAMResourcePerQueuePercent,
int maxApplicationsPerUser,
int maxActiveApplications,
int maxActiveApplicationsPerUser,
org.apache.hadoop.yarn.api.records.QueueState state,
Map<org.apache.hadoop.yarn.api.records.QueueACL,org.apache.hadoop.security.authorize.AccessControlList> acls,
int nodeLocalityDelay,
Set<String> labels,
String defaultLabelExpression,
Map<String,Float> capacitieByLabel,
Map<String,Float> maximumCapacitiesByLabel,
boolean revervationContinueLooking)
|
void |
submitApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
String userName,
String queue)
Submit a new application to the queue. |
void |
submitApplicationAttempt(FiCaSchedulerApp application,
String userName)
Submit an application attempt to the queue. |
String |
toString()
|
void |
updateClusterResource(org.apache.hadoop.yarn.api.records.Resource clusterResource)
Update the cluster resource for queues as we add/remove nodes |
| Methods inherited from class org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue |
|---|
getAbsoluteCapacity, getAbsoluteCapacityByNodeLabel, getAbsoluteMaximumCapacity, getAbsoluteMaximumCapacityByNodeLabel, getAbsoluteUsedCapacity, getAccessibleNodeLabels, getACLs, getCapacity, getCapacityByNodeLabel, getDefaultNodeLabelExpression, getMaximumAllocation, getMaximumCapacity, getMetrics, getMinimumAllocation, getParent, getQueueName, getReservationContinueLooking, getUsedCapacity, getUsedResources, hasAccess, releaseResource, setAbsoluteUsedCapacity, setParent, setUsedCapacity |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected int maxApplications
protected int maxApplicationsPerUser
| Constructor Detail |
|---|
public LeafQueue(CapacitySchedulerContext cs,
String queueName,
CSQueue parent,
CSQueue old)
throws IOException
IOException| Method Detail |
|---|
protected float getCapacityFromConf()
protected void setupQueueConfigs(org.apache.hadoop.yarn.api.records.Resource clusterResource,
float capacity,
float absoluteCapacity,
float maximumCapacity,
float absoluteMaxCapacity,
int userLimit,
float userLimitFactor,
int maxApplications,
float maxAMResourcePerQueuePercent,
int maxApplicationsPerUser,
int maxActiveApplications,
int maxActiveApplicationsPerUser,
org.apache.hadoop.yarn.api.records.QueueState state,
Map<org.apache.hadoop.yarn.api.records.QueueACL,org.apache.hadoop.security.authorize.AccessControlList> acls,
int nodeLocalityDelay,
Set<String> labels,
String defaultLabelExpression,
Map<String,Float> capacitieByLabel,
Map<String,Float> maximumCapacitiesByLabel,
boolean revervationContinueLooking)
throws IOException
IOExceptionpublic String getQueuePath()
CSQueue
@InterfaceAudience.Private public float getMinimumAllocationFactor()
@InterfaceAudience.Private public float getMaxAMResourcePerQueuePercent()
public int getMaxApplications()
public int getMaxApplicationsPerUser()
public int getMaximumActiveApplications()
public int getMaximumActiveApplicationsPerUser()
public ActiveUsersManager getActiveUsersManager()
CSQueueActiveUsersManager for the queue.
ActiveUsersManager for the queuepublic List<CSQueue> getChildQueues()
CSQueue
public int getNumApplications()
CSQueue
public int getNumPendingApplications()
public int getNumActiveApplications()
@InterfaceAudience.Private public int getNumApplications(String user)
@InterfaceAudience.Private public int getNumPendingApplications(String user)
@InterfaceAudience.Private public int getNumActiveApplications(String user)
public int getNumContainers()
getNumContainers in class AbstractCSQueuepublic org.apache.hadoop.yarn.api.records.QueueState getState()
CSQueue
getState in interface CSQueuegetState in class AbstractCSQueue@InterfaceAudience.Private public int getUserLimit()
@InterfaceAudience.Private public float getUserLimitFactor()
public org.apache.hadoop.yarn.api.records.QueueInfo getQueueInfo(boolean includeChildQueues,
boolean recursive)
Queue
includeChildQueues - include child queues?recursive - recursively get child queue information?
public List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo> getQueueUserAclInfo(org.apache.hadoop.security.UserGroupInformation user)
Queueuser.
user - username
@InterfaceAudience.Private public int getNodeLocalityDelay()
public String toString()
toString in class Objectpublic void setNodeLabelManager(RMNodeLabelsManager mgr)
public LeafQueue.User getUser(String userName)
public ArrayList<UserInfo> getUsers()
public void reinitialize(CSQueue newlyParsedQueue,
org.apache.hadoop.yarn.api.records.Resource clusterResource)
throws IOException
CSQueue
newlyParsedQueue - new queue to re-initalize fromclusterResource - resources in the cluster
IOException
public void submitApplicationAttempt(FiCaSchedulerApp application,
String userName)
CSQueue
public void submitApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
String userName,
String queue)
throws org.apache.hadoop.security.AccessControlException
CSQueue
applicationId - the applicationId of the application being submitteduserName - user who submitted the applicationqueue - queue to which the application is submitted
org.apache.hadoop.security.AccessControlException
public void finishApplication(org.apache.hadoop.yarn.api.records.ApplicationId application,
String user)
CSQueue
user - user who submitted the application
public void finishApplicationAttempt(FiCaSchedulerApp application,
String queue)
CSQueue
public void removeApplicationAttempt(FiCaSchedulerApp application,
LeafQueue.User user)
public CSAssignment assignContainers(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerNode node,
boolean needToUnreserve)
CSQueue
clusterResource - the resource of the cluster.node - node on which resources are availableneedToUnreserve - assign container only if it can unreserve one first
protected org.apache.hadoop.yarn.api.records.Resource getHeadroom(LeafQueue.User user,
org.apache.hadoop.yarn.api.records.Resource queueMaxCap,
org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
org.apache.hadoop.yarn.api.records.Resource required)
@InterfaceAudience.Private
protected boolean assignToUser(org.apache.hadoop.yarn.api.records.Resource clusterResource,
String userName,
org.apache.hadoop.yarn.api.records.Resource limit,
FiCaSchedulerApp application,
boolean checkReservations,
Set<String> requestLabels)
@InterfaceAudience.Private
protected boolean findNodeToUnreserve(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerNode node,
FiCaSchedulerApp application,
org.apache.hadoop.yarn.api.records.Priority priority,
org.apache.hadoop.yarn.api.records.Resource capability)
@InterfaceAudience.Private
protected boolean checkLimitsToReserve(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
org.apache.hadoop.yarn.api.records.Resource capability,
boolean needToUnreserve)
public void completedContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
FiCaSchedulerNode node,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus,
RMContainerEventType event,
CSQueue childQueue,
boolean sortQueues)
CSQueue
clusterResource - the resource of the clusterapplication - application to which the container was assignednode - node on which the container completedrmContainer - completed container,
null if it was just a reservationcontainerStatus - ContainerStatus for the completed
containerevent - event to be sent to the containerchildQueue - CSQueue to reinsert in childQueuessortQueues - indicates whether it should re-sort the queuespublic void updateClusterResource(org.apache.hadoop.yarn.api.records.Resource clusterResource)
CSQueue
clusterResource - the current cluster resource
public void recoverContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
SchedulerApplicationAttempt attempt,
RMContainer rmContainer)
Queue
clusterResource - the resource of the clusterattempt - the application for which the container was allocatedrmContainer - the container that was recovered.public Set<FiCaSchedulerApp> getApplications()
public org.apache.hadoop.yarn.api.records.Resource getTotalResourcePending()
public void collectSchedulerApplications(Collection<org.apache.hadoop.yarn.api.records.ApplicationAttemptId> apps)
CSQueue
apps - the collection to add the applications to
public void attachContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
RMContainer rmContainer)
CSQueue
clusterResource - the current cluster resourceapplication - application to which the container was assignedrmContainer - the container to attach
public void detachContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
RMContainer rmContainer)
CSQueue
clusterResource - the current cluster resourceapplication - application to which the container was assignedrmContainer - the container to detachpublic float getAbsActualCapacity()
CSQueue
getAbsActualCapacity in interface CSQueuegetAbsActualCapacity in class AbstractCSQueuepublic void setCapacity(float capacity)
public void setAbsoluteCapacity(float absoluteCapacity)
public void setMaxApplications(int maxApplications)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||