Modifier and Type | Method and Description |
---|---|
protected MultiNodeSortingManager<SchedulerNode> |
ResourceManager.createMultiNodeSortingManager() |
MultiNodeSortingManager<SchedulerNode> |
RMContext.getMultiNodeSortingManager() |
MultiNodeSortingManager<SchedulerNode> |
RMActiveServiceContext.getMultiNodeSortingManager() |
MultiNodeSortingManager<SchedulerNode> |
RMContextImpl.getMultiNodeSortingManager() |
Modifier and Type | Method and Description |
---|---|
void |
RMContext.setMultiNodeSortingManager(MultiNodeSortingManager<SchedulerNode> multiNodeSortingManager) |
void |
RMActiveServiceContext.setMultiNodeSortingManager(MultiNodeSortingManager<SchedulerNode> multiNodeSortingManager) |
void |
RMContextImpl.setMultiNodeSortingManager(MultiNodeSortingManager<SchedulerNode> multiNodeSortingManager) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractYarnScheduler<T extends SchedulerApplicationAttempt,N extends SchedulerNode> |
class |
ClusterNodeTracker<N extends SchedulerNode>
Helper library that:
- tracks the state of all cluster
SchedulerNode s
- provides convenience methods to filter and sort nodes |
Modifier and Type | Method and Description |
---|---|
<N extends SchedulerNode> |
SchedulerApplicationAttempt.getAppPlacementAllocator(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerRequestKey) |
<N extends SchedulerNode> |
AppSchedulingInfo.getAppPlacementAllocator(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerkey) |
Modifier and Type | Method and 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 and Description |
---|---|
static AppPlacementAllocator<SchedulerNode> |
ApplicationPlacementAllocatorFactory.getAppPlacementAllocator(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 and 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,
org.apache.hadoop.yarn.api.records.Container 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 |
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,
Optional<DiagnosticsCollector> dcOpt)
Pre-check node to see if it satisfy the given schedulerKey and
scheduler mode.
|
void |
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,
org.apache.hadoop.yarn.api.records.Container containerAllocated,
String user,
Queue queue) |
protected void |
AbstractYarnScheduler.updateNodeResourceUtilization(RMNode nm,
SchedulerNode schedulerNode)
Update container and utilization information on the NodeManager.
|
Constructor and Description |
---|
SchedContainerChangeRequest(RMContext rmContext,
SchedulerNode schedulerNode,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.Resource targetCapacity) |
SchedulerNodeReport(SchedulerNode node) |
Modifier and Type | Method and 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,
String diagnostic,
ActivityState appState,
ActivityLevel level) |
static void |
ActivitiesLogger.QUEUE.recordQueueActivity(ActivitiesManager activitiesManager,
SchedulerNode node,
String parentQueueName,
String queueName,
ActivityState state,
String diagnostic) |
static void |
ActivitiesLogger.QUEUE.recordQueueActivity(ActivitiesManager activitiesManager,
SchedulerNode node,
String parentQueueName,
String queueName,
ActivityState state,
Supplier<String> diagnosticSupplier) |
static void |
ActivitiesLogger.APP.recordRejectedAppActivityFromLeafQueue(ActivitiesManager activitiesManager,
SchedulerNode node,
SchedulerApplicationAttempt application,
org.apache.hadoop.yarn.api.records.Priority priority,
String diagnostic) |
static void |
ActivitiesLogger.APP.recordSkippedAppActivityWithoutAllocation(ActivitiesManager activitiesManager,
SchedulerNode node,
SchedulerApplicationAttempt application,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey requestKey,
String diagnostic,
ActivityLevel level) |
Modifier and Type | Method and Description |
---|---|
boolean |
CapacityScheduler.attemptAllocationOnNode(SchedulerApplicationAttempt appAttempt,
org.apache.hadoop.yarn.api.records.SchedulingRequest schedulingRequest,
SchedulerNode schedulerNode) |
Modifier and Type | Class and 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 and Description |
---|---|
class |
FiCaSchedulerNode |
Modifier and Type | Method and 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,
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 and Description |
---|---|
List<SchedulerNode> |
PlacedSchedulingRequest.getNodes()
List of Node locations on which this Scheduling Request can be placed.
|
Modifier and Type | Method and Description |
---|---|
List<SchedulerNode> |
NodeCandidateSelector.selectNodes(NodeFilter filter)
Select a list of nodes given a filter.
|
Modifier and Type | Method and Description |
---|---|
void |
BatchedRequests.addToBlacklist(Set<String> tags,
SchedulerNode node) |
Modifier and Type | Class and Description |
---|---|
class |
FSSchedulerNode
Fair Scheduler specific node features.
|
Modifier and Type | Method and Description |
---|---|
void |
FSAppAttempt.recoverContainer(SchedulerNode node,
RMContainer rmContainer) |
Modifier and Type | Class and 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 and Description |
---|---|
static <N extends SchedulerNode> |
CandidateNodeSetUtils.getSingleNode(CandidateNodeSet<N> candidates) |
Modifier and Type | Method and Description |
---|---|
ContainerRequest |
SingleConstraintAppPlacementAllocator.allocate(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
NodeType type,
SchedulerNode node) |
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) |
boolean |
SingleConstraintAppPlacementAllocator.canAllocate(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.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode) |
abstract boolean |
AppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode) |
boolean |
LocalityAppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode) |
boolean |
SingleConstraintAppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode,
Optional<DiagnosticsCollector> dcOpt) |
abstract boolean |
AppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode,
Optional<DiagnosticsCollector> dcOpt)
Does this
AppPlacementAllocator accept resources on given node? |
boolean |
LocalityAppPlacementAllocator.precheckNode(SchedulerNode schedulerNode,
SchedulingMode schedulingMode,
Optional<DiagnosticsCollector> dcOpt) |
Copyright © 2008–2020 Apache Software Foundation. All rights reserved.