| Modifier and Type | Method | Description |
|---|---|---|
protected MultiNodeSortingManager<SchedulerNode> |
ResourceManager.createMultiNodeSortingManager() |
|
MultiNodeSortingManager<SchedulerNode> |
RMActiveServiceContext.getMultiNodeSortingManager() |
|
MultiNodeSortingManager<SchedulerNode> |
RMContext.getMultiNodeSortingManager() |
|
MultiNodeSortingManager<SchedulerNode> |
RMContextImpl.getMultiNodeSortingManager() |
| Modifier and Type | Method | Description |
|---|---|---|
void |
RMActiveServiceContext.setMultiNodeSortingManager(MultiNodeSortingManager<SchedulerNode> multiNodeSortingManager) |
|
void |
RMContext.setMultiNodeSortingManager(MultiNodeSortingManager<SchedulerNode> multiNodeSortingManager) |
|
void |
RMContextImpl.setMultiNodeSortingManager(MultiNodeSortingManager<SchedulerNode> multiNodeSortingManager) |
| Modifier and Type | Class | Description |
|---|---|---|
class |
AbstractYarnScheduler<T extends SchedulerApplicationAttempt,N extends SchedulerNode> |
|
class |
ClusterNodeTracker<N extends SchedulerNode> |
Helper library that:
- tracks the state of all cluster
SchedulerNodes
- provides convenience methods to filter and sort nodes |
| Modifier and Type | Method | Description |
|---|---|---|
<N extends SchedulerNode> |
AppSchedulingInfo.getAppPlacementAllocator(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerkey) |
|
<N extends SchedulerNode> |
SchedulerApplicationAttempt.getAppPlacementAllocator(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerRequestKey) |
| Modifier and Type | Method | Description |
|---|---|---|
SchedulerNode |
AbstractYarnScheduler.getNode(org.apache.hadoop.yarn.api.records.NodeId nodeId) |
|
SchedulerNode |
SchedContainerChangeRequest.getSchedulerNode() |
|
SchedulerNode |
YarnScheduler.getSchedulerNode(org.apache.hadoop.yarn.api.records.NodeId nodeId) |
Get SchedulerNode corresponds to nodeId.
|
| Modifier and Type | Method | Description |
|---|---|---|
static AppPlacementAllocator<SchedulerNode> |
ApplicationPlacementAllocatorFactory.getAppPlacementAllocator(java.lang.String appPlacementAllocatorName,
AppSchedulingInfo appSchedulingInfo,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerRequestKey,
RMContext rmContext) |
Get AppPlacementAllocator related to the placement type requested.
|
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
NodeFilter.accept(SchedulerNode node) |
Criteria to accept node in the filtered list.
|
protected void |
SchedulerApplicationAttempt.addToNewlyAllocatedContainers(SchedulerNode node,
RMContainer rmContainer) |
|
ContainerRequest |
AppSchedulingInfo.allocate(NodeType type,
SchedulerNode node,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
RMContainer containerAllocated) |
|
boolean |
AbstractYarnScheduler.attemptAllocationOnNode(SchedulerApplicationAttempt appAttempt,
org.apache.hadoop.yarn.api.records.SchedulingRequest schedulingRequest,
SchedulerNode schedulerNode) |
Default implementation.
|
boolean |
ResourceScheduler.attemptAllocationOnNode(SchedulerApplicationAttempt appAttempt,
org.apache.hadoop.yarn.api.records.SchedulingRequest schedulingRequest,
SchedulerNode schedulerNode) |
Attempts to allocate a SchedulerRequest on a Node.
|
boolean |
AppSchedulingInfo.checkAllocation(NodeType type,
SchedulerNode node,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey) |
|
boolean |
ContainerUpdateContext.checkAndAddToOutstandingDecreases(org.apache.hadoop.yarn.api.records.UpdateContainerRequest updateReq,
SchedulerNode schedulerNode,
org.apache.hadoop.yarn.api.records.Container container) |
Add the container to outstanding decreases.
|
boolean |
ContainerUpdateContext.checkAndAddToOutstandingIncreases(RMContainer rmContainer,
SchedulerNode schedulerNode,
org.apache.hadoop.yarn.api.records.UpdateContainerRequest updateRequest) |
Add the container to outstanding increases.
|
protected void |
AbstractYarnScheduler.containerIncreasedOnNode(org.apache.hadoop.yarn.api.records.ContainerId containerId,
SchedulerNode node,
org.apache.hadoop.yarn.api.records.Container increasedContainerReportedByNM) |
|
protected void |
AbstractYarnScheduler.containerLaunchedOnNode(org.apache.hadoop.yarn.api.records.ContainerId containerId,
SchedulerNode node) |
|
static boolean |
SchedulerUtils.isNodeHeartbeated(SchedulerNode node,
long skipNodeInterval) |
|
static boolean |
SchedulerAppUtils.isPlaceBlacklisted(SchedulerApplicationAttempt application,
SchedulerNode node,
org.slf4j.Logger log) |
|
org.apache.hadoop.yarn.api.records.ContainerId |
ContainerUpdateContext.matchContainerToOutstandingIncreaseReq(SchedulerNode node,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
RMContainer rmContainer) |
Check if a new container is to be matched up against an outstanding
Container increase request.
|
boolean |
AppSchedulingInfo.precheckNode(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
SchedulerNode schedulerNode,
SchedulingMode schedulingMode,
java.util.Optional<DiagnosticsCollector> dcOpt) |
Pre-check node to see if it satisfy the given schedulerKey and
scheduler mode.
|
boolean |
SchedulerApplicationAttempt.recoverContainer(SchedulerNode node,
RMContainer rmContainer) |
|
RMContainer |
SchedulerApplicationAttempt.reserve(SchedulerNode node,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.Container container) |
|
boolean |
SchedulerApplicationAttempt.reserveIncreasedContainer(SchedulerNode node,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.Resource reservedResource) |
|
static void |
AppSchedulingInfo.updateMetrics(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
NodeType type,
SchedulerNode node,
RMContainer containerAllocated,
java.lang.String user,
Queue queue) |
|
protected void |
AbstractYarnScheduler.updateNodeResourceUtilization(RMNode nm,
SchedulerNode schedulerNode) |
Update container and utilization information on the NodeManager.
|
| Constructor | Description |
|---|---|
SchedContainerChangeRequest(RMContext rmContext,
SchedulerNode schedulerNode,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.Resource targetCapacity) |
|
SchedulerNodeReport(SchedulerNode node) |
| Modifier and Type | Method | Description |
|---|---|---|
static void |
ActivitiesLogger.NODE.finishAllocatedNodeAllocation(ActivitiesManager activitiesManager,
SchedulerNode node,
org.apache.hadoop.yarn.api.records.ContainerId containerId,
AllocationState containerState) |
|
static void |
ActivitiesLogger.NODE.finishSkippedNodeAllocation(ActivitiesManager activitiesManager,
SchedulerNode node) |
|
org.apache.hadoop.yarn.api.records.NodeId |
ActivitiesManager.getRecordingNodeId(SchedulerNode node) |
Get recording node id:
1.
|
static void |
ActivitiesLogger.APP.recordAppActivityWithAllocation(ActivitiesManager activitiesManager,
SchedulerNode node,
SchedulerApplicationAttempt application,
RMContainer updatedContainer,
ActivityState activityState) |
|
static void |
ActivitiesLogger.APP.recordAppActivityWithoutAllocation(ActivitiesManager activitiesManager,
SchedulerNode node,
SchedulerApplicationAttempt application,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
java.lang.String diagnostic,
ActivityState appState,
ActivityLevel level) |
|
static void |
ActivitiesLogger.QUEUE.recordQueueActivity(ActivitiesManager activitiesManager,
SchedulerNode node,
java.lang.String parentQueueName,
java.lang.String queueName,
ActivityState state,
java.lang.String diagnostic) |
|
static void |
ActivitiesLogger.QUEUE.recordQueueActivity(ActivitiesManager activitiesManager,
SchedulerNode node,
java.lang.String parentQueueName,
java.lang.String queueName,
ActivityState state,
java.util.function.Supplier<java.lang.String> diagnosticSupplier) |
|
static void |
ActivitiesLogger.APP.recordRejectedAppActivityFromLeafQueue(ActivitiesManager activitiesManager,
SchedulerNode node,
SchedulerApplicationAttempt application,
org.apache.hadoop.yarn.api.records.Priority priority,
java.lang.String diagnostic) |
|
static void |
ActivitiesLogger.APP.recordSkippedAppActivityWithoutAllocation(ActivitiesManager activitiesManager,
SchedulerNode node,
SchedulerApplicationAttempt application,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey requestKey,
java.lang.String diagnostic,
ActivityLevel level) |
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
CapacityScheduler.attemptAllocationOnNode(SchedulerApplicationAttempt appAttempt,
org.apache.hadoop.yarn.api.records.SchedulingRequest schedulingRequest,
SchedulerNode schedulerNode) |
| Modifier and Type | Class | Description |
|---|---|---|
class |
ContainerAllocationProposal<A extends SchedulerApplicationAttempt,N extends SchedulerNode> |
Proposal to allocate/reserve a new container
|
class |
ResourceCommitRequest<A extends SchedulerApplicationAttempt,N extends SchedulerNode> |
|
class |
SchedulerContainer<A extends SchedulerApplicationAttempt,N extends SchedulerNode> |
Contexts for a container inside scheduler
|
| Modifier and Type | Class | Description |
|---|---|---|
class |
FiCaSchedulerNode |
| Modifier and Type | Method | Description |
|---|---|---|
static boolean |
PlacementConstraintsUtil.canSatisfyConstraints(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
org.apache.hadoop.yarn.api.records.SchedulingRequest request,
SchedulerNode schedulerNode,
PlacementConstraintManager pcm,
AllocationTagsManager atm) |
|
static boolean |
PlacementConstraintsUtil.canSatisfyConstraints(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
org.apache.hadoop.yarn.api.records.SchedulingRequest request,
SchedulerNode schedulerNode,
PlacementConstraintManager pcm,
AllocationTagsManager atm,
java.util.Optional<DiagnosticsCollector> dcOpt) |
Returns true if the placement constraint for a given scheduling request
is currently satisfied by the specific scheduler node.
|
| Modifier and Type | Method | Description |
|---|---|---|
java.util.List<SchedulerNode> |
PlacedSchedulingRequest.getNodes() |
List of Node locations on which this Scheduling Request can be placed.
|
| Modifier and Type | Method | Description |
|---|---|---|
java.util.List<SchedulerNode> |
NodeCandidateSelector.selectNodes(NodeFilter filter) |
Select a list of nodes given a filter.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
BatchedRequests.addToBlacklist(java.util.Set<java.lang.String> tags,
SchedulerNode node) |
| Modifier and Type | Class | Description |
|---|---|---|
class |
FSSchedulerNode |
Fair Scheduler specific node features.
|
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
FSAppAttempt.recoverContainer(SchedulerNode node,
RMContainer rmContainer) |
| Modifier and Type | Class | Description |
|---|---|---|
class |
AppPlacementAllocator<N extends SchedulerNode> |
This class has the following functionality:
1) Keeps track of pending resource requests when following events happen:
- New ResourceRequests are added to scheduler.
|
interface |
CandidateNodeSet<N extends SchedulerNode> |
A group of nodes which can be allocated by scheduler.
|
class |
LocalityAppPlacementAllocator<N extends SchedulerNode> |
This is an implementation of the
AppPlacementAllocator that takes
into account locality preferences (node, rack, any) when allocating
containers. |
interface |
MultiNodeLookupPolicy<N extends SchedulerNode> |
This class has the following functionality.
|
class |
MultiNodeSorter<N extends SchedulerNode> |
Common node sorting class which will do sorting based on policy spec.
|
class |
MultiNodeSortingManager<N extends SchedulerNode> |
Node Sorting Manager which runs all sorter threads and policies.
|
class |
ResourceUsageMultiNodeLookupPolicy<N extends SchedulerNode> |
This class has the following functionality:
|
class |
SimpleCandidateNodeSet<N extends SchedulerNode> |
A simple CandidateNodeSet which keeps an unordered map
|
class |
SingleConstraintAppPlacementAllocator<N extends SchedulerNode> |
This is a simple implementation to do affinity or anti-affinity for
inter/intra apps.
|
| Modifier and Type | Method | Description |
|---|---|---|
static <N extends SchedulerNode> |
CandidateNodeSetUtils.getSingleNode(CandidateNodeSet<N> candidates) |
| Modifier and Type | Method | Description |
|---|---|---|
abstract ContainerRequest |
AppPlacementAllocator.allocate(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
NodeType type,
SchedulerNode node) |
Notify container allocated.
|
ContainerRequest |
LocalityAppPlacementAllocator.allocate(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
NodeType type,
SchedulerNode node) |
|
ContainerRequest |
SingleConstraintAppPlacementAllocator.allocate(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
NodeType type,
SchedulerNode node) |
|
abstract boolean |
AppPlacementAllocator.canAllocate(NodeType type,
SchedulerNode node) |
We can still have pending requirement for a given NodeType and node
|
boolean |
LocalityAppPlacementAllocator.canAllocate(NodeType type,
SchedulerNode node) |
|
boolean |
SingleConstraintAppPlacementAllocator.canAllocate(NodeType type,
SchedulerNode node) |
|
abstract boolean |
AppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode) |
|
abstract boolean |
AppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode,
java.util.Optional<DiagnosticsCollector> dcOpt) |
Does this
AppPlacementAllocator accept resources on given node? |
boolean |
LocalityAppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode) |
|
boolean |
LocalityAppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode,
java.util.Optional<DiagnosticsCollector> dcOpt) |
|
boolean |
SingleConstraintAppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode) |
|
boolean |
SingleConstraintAppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode,
java.util.Optional<DiagnosticsCollector> dcOpt) |
Copyright © 2008–2025 Apache Software Foundation. All rights reserved.