public interface YarnScheduler extends org.apache.hadoop.yarn.event.EventHandler<SchedulerEvent>
| Modifier and Type | Method and Description |
|---|---|
Allocation |
allocate(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
List<org.apache.hadoop.yarn.api.records.ResourceRequest> ask,
List<org.apache.hadoop.yarn.api.records.ContainerId> release,
List<String> blacklistAdditions,
List<String> blacklistRemovals)
The main api between the ApplicationMaster and the Scheduler.
|
boolean |
checkAccess(org.apache.hadoop.security.UserGroupInformation callerUGI,
org.apache.hadoop.yarn.api.records.QueueACL acl,
String queueName)
Check if the user has permission to perform the operation.
|
org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport |
getAppResourceUsageReport(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId)
Get a resource usage report from a given app attempt ID.
|
List<org.apache.hadoop.yarn.api.records.ApplicationAttemptId> |
getAppsInQueue(String queueName)
Gets the apps under a given queue
|
org.apache.hadoop.yarn.api.records.Resource |
getMaximumResourceCapability()
Get maximum allocatable
Resource. |
org.apache.hadoop.yarn.api.records.Resource |
getMinimumResourceCapability()
Get minimum allocatable
Resource. |
SchedulerNodeReport |
getNodeReport(org.apache.hadoop.yarn.api.records.NodeId nodeId)
Get node resource usage report.
|
int |
getNumClusterNodes()
Get the number of nodes available in the cluster.
|
org.apache.hadoop.yarn.api.records.QueueInfo |
getQueueInfo(String queueName,
boolean includeChildQueues,
boolean recursive)
Get queue information
|
List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo> |
getQueueUserAclInfo()
Get acls for queues for current user.
|
RMContainer |
getRMContainer(org.apache.hadoop.yarn.api.records.ContainerId containerId)
Get the container for the given containerId.
|
QueueMetrics |
getRootQueueMetrics()
Get the root queue for the scheduler.
|
SchedulerAppReport |
getSchedulerAppInfo(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId)
Get the Scheduler app for a given app attempt Id.
|
String |
moveApplication(org.apache.hadoop.yarn.api.records.ApplicationId appId,
String newQueue)
Moves the given application to the given queue
|
@InterfaceAudience.Public @InterfaceStability.Stable org.apache.hadoop.yarn.api.records.QueueInfo getQueueInfo(String queueName, boolean includeChildQueues, boolean recursive) throws IOException
queueName - queue nameincludeChildQueues - include child queues?recursive - get children queues?IOException@InterfaceAudience.Public @InterfaceStability.Stable List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo> getQueueUserAclInfo()
@InterfaceAudience.Public @InterfaceStability.Stable org.apache.hadoop.yarn.api.records.Resource getMinimumResourceCapability()
Resource.@InterfaceAudience.Public @InterfaceStability.Stable org.apache.hadoop.yarn.api.records.Resource getMaximumResourceCapability()
Resource.@InterfaceAudience.Public @InterfaceStability.Stable int getNumClusterNodes()
@InterfaceAudience.Public @InterfaceStability.Stable Allocation allocate(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId, List<org.apache.hadoop.yarn.api.records.ResourceRequest> ask, List<org.apache.hadoop.yarn.api.records.ContainerId> release, List<String> blacklistAdditions, List<String> blacklistRemovals)
appAttemptId - ask - release - blacklistAdditions - blacklistRemovals - Allocation for the application@InterfaceAudience.LimitedPrivate(value="yarn") @InterfaceStability.Stable SchedulerNodeReport getNodeReport(org.apache.hadoop.yarn.api.records.NodeId nodeId)
nodeId - SchedulerNodeReport for the node or null
if nodeId does not point to a defined node.@InterfaceAudience.LimitedPrivate(value="yarn") @InterfaceStability.Stable SchedulerAppReport getSchedulerAppInfo(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId)
appAttemptId - the id of the application attempt@InterfaceAudience.LimitedPrivate(value="yarn") @InterfaceStability.Evolving org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport getAppResourceUsageReport(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId)
appAttemptId - the id of the application attempt@InterfaceAudience.LimitedPrivate(value="yarn") @InterfaceStability.Evolving QueueMetrics getRootQueueMetrics()
boolean checkAccess(org.apache.hadoop.security.UserGroupInformation callerUGI,
org.apache.hadoop.yarn.api.records.QueueACL acl,
String queueName)
QueueACL.ADMINISTER_QUEUE permission,
this user can view/modify the applications in this queuecallerUGI - acl - queueName - true if the user has the permission,
false otherwise@InterfaceAudience.LimitedPrivate(value="yarn") @InterfaceStability.Stable List<org.apache.hadoop.yarn.api.records.ApplicationAttemptId> getAppsInQueue(String queueName)
queueName - the name of the queue.@InterfaceAudience.LimitedPrivate(value="yarn") @InterfaceStability.Unstable RMContainer getRMContainer(org.apache.hadoop.yarn.api.records.ContainerId containerId)
containerId - @InterfaceAudience.LimitedPrivate(value="yarn") @InterfaceStability.Evolving String moveApplication(org.apache.hadoop.yarn.api.records.ApplicationId appId, String newQueue) throws org.apache.hadoop.yarn.exceptions.YarnException
appId - newQueue - org.apache.hadoop.yarn.exceptions.YarnException - if the move cannot be carried outCopyright © 2014 Apache Software Foundation. All Rights Reserved.