Modifier and Type | Field and Description |
---|---|
protected org.apache.hadoop.yarn.security.YarnAuthorizationProvider |
authorizer |
protected CapacitySchedulerContext |
csContext |
protected org.apache.hadoop.yarn.security.PrivilegedEntity |
queueEntity |
Constructor and Description |
---|
AbstractCSQueue(CapacitySchedulerContext cs,
String queueName,
CSQueue parent,
CSQueue old) |
Modifier and Type | Method and Description |
---|---|
boolean |
accessibleToPartition(String nodePartition) |
void |
decPendingResource(String nodeLabel,
org.apache.hadoop.yarn.api.records.Resource resourceToDec)
When an outstanding resource is fulfilled or canceled, calling this will
decrease pending resource in a queue.
|
void |
decReservedResource(String partition,
org.apache.hadoop.yarn.api.records.Resource reservedRes)
Decrement Reserved Capacity
|
void |
decUsedResource(String nodeLabel,
org.apache.hadoop.yarn.api.records.Resource resourceToDec,
SchedulerApplicationAttempt application)
When partition of node updated, we will update queue's resource usage if it
has container(s) running on that.
|
float |
getAbsoluteCapacity()
Get capacity of the parent of the queue as a function of the
cumulative capacity in the cluster.
|
float |
getAbsoluteMaximumCapacity()
Get maximum-capacity of the queue as a funciton of the cumulative capacity
of the cluster.
|
float |
getAbsoluteUsedCapacity()
Get the current absolute used capacity of the queue
relative to the entire cluster.
|
Set<String> |
getAccessibleNodeLabels()
Get labels can be accessed of this queue
labels={*}, means this queue can access any label
labels={ }, means this queue cannot access any label except node without label
labels={a, b, c} means this queue can access a or b or c
|
Map<org.apache.hadoop.yarn.security.AccessType,org.apache.hadoop.security.authorize.AccessControlList> |
getACLs() |
float |
getCapacity()
Get the configured capacity of the queue.
|
org.apache.hadoop.yarn.api.records.Priority |
getDefaultApplicationPriority()
Get the Default Application Priority for this queue
|
String |
getDefaultNodeLabelExpression()
Get default label expression of this queue.
|
Iterator<RMContainer> |
getKillableContainers(String partition) |
org.apache.hadoop.yarn.api.records.Resource |
getMaximumAllocation() |
float |
getMaximumCapacity()
Get the configured maximum-capacity of the queue.
|
CSQueueMetrics |
getMetrics()
Get the queue metrics
|
org.apache.hadoop.yarn.api.records.Resource |
getMinimumAllocation() |
Set<String> |
getNodeLabelsForQueue()
Get valid Node Labels for this queue
|
int |
getNumContainers() |
CSQueue |
getParent()
Get the parent
Queue . |
boolean |
getPreemptionDisabled()
Check whether disable_preemption property is set for this queue
|
org.apache.hadoop.yarn.security.PrivilegedEntity |
getPrivilegedEntity() |
QueueCapacities |
getQueueCapacities()
Get QueueCapacities of this queue
|
protected org.apache.hadoop.yarn.api.records.QueueInfo |
getQueueInfo() |
String |
getQueueName()
Get the queue name.
|
String |
getQueuePath()
Get the full name of the queue, including the heirarchy.
|
ResourceUsage |
getQueueResourceUsage()
Get ResourceUsage of this queue
|
org.apache.hadoop.yarn.api.records.QueueStatistics |
getQueueStatistics() |
boolean |
getReservationContinueLooking() |
org.apache.hadoop.yarn.api.records.QueueState |
getState()
Get the current run-state of the queue
|
org.apache.hadoop.yarn.api.records.Resource |
getTotalKillableResource(String partition) |
float |
getUsedCapacity()
Get the current used capacity of nodes without label(s) of the queue
and it's children (if any).
|
org.apache.hadoop.yarn.api.records.Resource |
getUsedResources()
Get the currently utilized resources which allocated at nodes without any
labels in the cluster by the queue and children (if any).
|
Map<String,Float> |
getUserWeights()
Get a map of usernames and weights
|
boolean |
hasAccess(org.apache.hadoop.yarn.api.records.QueueACL acl,
org.apache.hadoop.security.UserGroupInformation user)
Check if the
user has permission to perform the operation |
boolean |
hasChildQueues() |
void |
incPendingResource(String nodeLabel,
org.apache.hadoop.yarn.api.records.Resource resourceToInc)
When new outstanding resource is asked, calling this will increase pending
resource in a queue.
|
void |
incReservedResource(String partition,
org.apache.hadoop.yarn.api.records.Resource reservedRes)
Increment Reserved Capacity
|
void |
incUsedResource(String nodeLabel,
org.apache.hadoop.yarn.api.records.Resource resourceToInc,
SchedulerApplicationAttempt application)
When partition of node updated, we will update queue's resource usage if it
has container(s) running on that.
|
protected void |
releaseResource(org.apache.hadoop.yarn.api.records.Resource clusterResource,
org.apache.hadoop.yarn.api.records.Resource resource,
String nodePartition,
boolean changeContainerResource) |
void |
setAbsoluteUsedCapacity(float absUsedCapacity)
Set absolute used capacity of the queue.
|
void |
setParent(CSQueue newParentQueue)
Set the parent
Queue . |
protected void |
setupConfigurableCapacities() |
void |
setUsedCapacity(float usedCapacity)
Set used capacity of the queue.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
assignContainers, attachContainer, collectSchedulerApplications, completedContainer, decreaseContainer, detachContainer, finishApplication, finishApplicationAttempt, getActiveUsersManager, getChildQueues, getNumApplications, reinitialize, submitApplication, submitApplicationAttempt, unreserveIncreasedContainer, updateClusterResource
getQueueInfo, getQueueUserAclInfo, recoverContainer
protected final org.apache.hadoop.yarn.security.PrivilegedEntity queueEntity
protected CapacitySchedulerContext csContext
protected org.apache.hadoop.yarn.security.YarnAuthorizationProvider authorizer
public AbstractCSQueue(CapacitySchedulerContext cs, String queueName, CSQueue parent, CSQueue old) throws IOException
IOException
protected void setupConfigurableCapacities()
public String getQueuePath()
CSQueue
getQueuePath
in interface CSQueue
public float getCapacity()
CSQueue
getCapacity
in interface CSQueue
public float getAbsoluteCapacity()
CSQueue
getAbsoluteCapacity
in interface CSQueue
public float getAbsoluteMaximumCapacity()
CSQueue
getAbsoluteMaximumCapacity
in interface CSQueue
public float getAbsoluteUsedCapacity()
CSQueue
getAbsoluteUsedCapacity
in interface CSQueue
public float getMaximumCapacity()
CSQueue
getMaximumCapacity
in interface CSQueue
public float getUsedCapacity()
CSQueue
getUsedCapacity
in interface CSQueue
public org.apache.hadoop.yarn.api.records.Resource getUsedResources()
CSQueue
getUsedResources
in interface CSQueue
public int getNumContainers()
public org.apache.hadoop.yarn.api.records.QueueState getState()
CSQueue
public CSQueueMetrics getMetrics()
Queue
getMetrics
in interface Queue
public String getQueueName()
CSQueue
getQueueName
in interface CSQueue
getQueueName
in interface Queue
public org.apache.hadoop.yarn.security.PrivilegedEntity getPrivilegedEntity()
public CSQueue getParent()
CSQueue
Queue
.public void setParent(CSQueue newParentQueue)
CSQueue
Queue
.public Set<String> getAccessibleNodeLabels()
Queue
getAccessibleNodeLabels
in interface Queue
public boolean hasAccess(org.apache.hadoop.yarn.api.records.QueueACL acl, org.apache.hadoop.security.UserGroupInformation user)
CSQueue
user
has permission to perform the operationpublic void setUsedCapacity(float usedCapacity)
CSQueue
setUsedCapacity
in interface CSQueue
usedCapacity
- used capacity of the queuepublic void setAbsoluteUsedCapacity(float absUsedCapacity)
CSQueue
setAbsoluteUsedCapacity
in interface CSQueue
absUsedCapacity
- absolute used capacity of the queuepublic String getDefaultNodeLabelExpression()
Queue
getDefaultNodeLabelExpression
in interface Queue
protected org.apache.hadoop.yarn.api.records.QueueInfo getQueueInfo()
public org.apache.hadoop.yarn.api.records.QueueStatistics getQueueStatistics()
@InterfaceAudience.Private public org.apache.hadoop.yarn.api.records.Resource getMaximumAllocation()
@InterfaceAudience.Private public org.apache.hadoop.yarn.api.records.Resource getMinimumAllocation()
protected void releaseResource(org.apache.hadoop.yarn.api.records.Resource clusterResource, org.apache.hadoop.yarn.api.records.Resource resource, String nodePartition, boolean changeContainerResource)
@InterfaceAudience.Private public boolean getReservationContinueLooking()
@InterfaceAudience.Private public Map<org.apache.hadoop.yarn.security.AccessType,org.apache.hadoop.security.authorize.AccessControlList> getACLs()
@InterfaceAudience.Private public boolean getPreemptionDisabled()
CSQueue
getPreemptionDisabled
in interface CSQueue
@InterfaceAudience.Private public QueueCapacities getQueueCapacities()
CSQueue
getQueueCapacities
in interface CSQueue
@InterfaceAudience.Private public ResourceUsage getQueueResourceUsage()
CSQueue
getQueueResourceUsage
in interface CSQueue
public boolean hasChildQueues()
public void incReservedResource(String partition, org.apache.hadoop.yarn.api.records.Resource reservedRes)
Queue
incReservedResource
in interface Queue
partition
- asked by applicationreservedRes
- reserved resource askedpublic void decReservedResource(String partition, org.apache.hadoop.yarn.api.records.Resource reservedRes)
Queue
decReservedResource
in interface Queue
partition
- asked by applicationreservedRes
- reserved resource askedpublic void incPendingResource(String nodeLabel, org.apache.hadoop.yarn.api.records.Resource resourceToInc)
Queue
incPendingResource
in interface Queue
nodeLabel
- asked by applicationresourceToInc
- new resource askedpublic void decPendingResource(String nodeLabel, org.apache.hadoop.yarn.api.records.Resource resourceToDec)
CSQueue
decPendingResource
in interface CSQueue
decPendingResource
in interface Queue
nodeLabel
- asked by applicationresourceToDec
- new resource askedpublic void incUsedResource(String nodeLabel, org.apache.hadoop.yarn.api.records.Resource resourceToInc, SchedulerApplicationAttempt application)
CSQueue
incUsedResource
in interface CSQueue
public void decUsedResource(String nodeLabel, org.apache.hadoop.yarn.api.records.Resource resourceToDec, SchedulerApplicationAttempt application)
CSQueue
decUsedResource
in interface CSQueue
public boolean accessibleToPartition(String nodePartition)
public org.apache.hadoop.yarn.api.records.Priority getDefaultApplicationPriority()
Queue
getDefaultApplicationPriority
in interface Queue
public Set<String> getNodeLabelsForQueue()
CSQueue
getNodeLabelsForQueue
in interface CSQueue
public org.apache.hadoop.yarn.api.records.Resource getTotalKillableResource(String partition)
public Iterator<RMContainer> getKillableContainers(String partition)
Copyright © 2017 Apache Software Foundation. All Rights Reserved.