Modifier and Type | Method and Description |
---|---|
Collection<WorkerSlot> |
Nimbus.StandaloneINimbus.allSlotsAvailableForScheduling(Collection<SupervisorDetails> supervisors,
Topologies topologies,
Set<String> topologiesMissingAssignments) |
Modifier and Type | Method and Description |
---|---|
void |
Nimbus.StandaloneINimbus.assignSlots(Topologies topologies,
Map<String,Collection<WorkerSlot>> newSlotsByTopologyId) |
Modifier and Type | Method and Description |
---|---|
Collection<WorkerSlot> |
INimbus.allSlotsAvailableForScheduling(Collection<SupervisorDetails> existingSupervisors,
Topologies topologies,
Set<String> topologiesMissingAssignments)
Returns all slots that are available for the next round of scheduling.
|
static Map<WorkerSlot,List<ExecutorDetails>> |
EvenScheduler.getAliveAssignedWorkerSlotExecutors(Cluster cluster,
String topologyId) |
List<WorkerSlot> |
Cluster.getAssignableSlots() |
List<WorkerSlot> |
ISchedulingState.getAssignableSlots()
Get all non-blacklisted slots in the cluster.
|
List<WorkerSlot> |
Cluster.getAssignableSlots(SupervisorDetails supervisor) |
List<WorkerSlot> |
ISchedulingState.getAssignableSlots(SupervisorDetails supervisor)
Return all non-blacklisted slots on this supervisor.
|
List<WorkerSlot> |
Cluster.getAvailableSlots() |
List<WorkerSlot> |
ISchedulingState.getAvailableSlots()
Get all the available worker slots in the cluster.
|
List<WorkerSlot> |
Cluster.getAvailableSlots(SupervisorDetails supervisor) |
List<WorkerSlot> |
ISchedulingState.getAvailableSlots(SupervisorDetails supervisor)
Return all the available slots on this supervisor.
|
Map<ExecutorDetails,WorkerSlot> |
SchedulerAssignment.getExecutorToSlot()
Get the map of executor to WorkerSlot.
|
Map<ExecutorDetails,WorkerSlot> |
SchedulerAssignmentImpl.getExecutorToSlot() |
List<WorkerSlot> |
Cluster.getNonBlacklistedAvailableSlots(List<String> blacklistedSupervisorIds) |
List<WorkerSlot> |
ISchedulingState.getNonBlacklistedAvailableSlots(List<String> blacklistedSupervisorIds)
Get all the available worker slots in the cluster, that are not blacklisted.
|
Map<WorkerSlot,WorkerResources> |
SchedulerAssignment.getScheduledResources()
Get the slot to resource mapping.
|
Map<WorkerSlot,WorkerResources> |
SchedulerAssignmentImpl.getScheduledResources() |
Set<WorkerSlot> |
SchedulerAssignment.getSlots()
Get the set of all slots that are a part of this.
|
Set<WorkerSlot> |
SchedulerAssignmentImpl.getSlots() |
Map<WorkerSlot,Collection<ExecutorDetails>> |
SchedulerAssignment.getSlotToExecutors()
Get the mapping of slot to executors on that slot.
|
Map<WorkerSlot,Collection<ExecutorDetails>> |
SchedulerAssignmentImpl.getSlotToExecutors() |
Collection<WorkerSlot> |
Cluster.getUsedSlots() |
Collection<WorkerSlot> |
ISchedulingState.getUsedSlots()
Get all currently occupied slots.
|
Collection<WorkerSlot> |
Cluster.getUsedSlotsByTopologyId(String topologyId) |
Collection<WorkerSlot> |
ISchedulingState.getUsedSlotsByTopologyId(String topologyId)
get slots used by a topology.
|
Map<String,Map<WorkerSlot,WorkerResources>> |
Cluster.getWorkerResourcesMap() |
Map<String,Map<WorkerSlot,WorkerResources>> |
ISchedulingState.getWorkerResourcesMap()
Gets the reference to the full topology->worker resource map.
|
static Set<WorkerSlot> |
DefaultScheduler.slotsCanReassign(Cluster cluster,
Set<WorkerSlot> slots) |
static List<WorkerSlot> |
EvenScheduler.sortSlots(List<WorkerSlot> availableSlots) |
Modifier and Type | Method and Description |
---|---|
void |
SchedulerAssignmentImpl.assign(WorkerSlot slot,
Collection<ExecutorDetails> executors)
Deprecated.
|
void |
SchedulerAssignmentImpl.assign(WorkerSlot slot,
Collection<ExecutorDetails> executors,
WorkerResources slotResources)
Assign the slot to executors.
|
void |
Cluster.assign(WorkerSlot slot,
String topologyId,
Collection<ExecutorDetails> executors)
Assign the slot to the executors for this topology.
|
void |
Cluster.freeSlot(WorkerSlot slot)
Free the specified slot.
|
WorkerResources |
Cluster.getWorkerResources(WorkerSlot ws) |
WorkerResources |
ISchedulingState.getWorkerResources(WorkerSlot ws)
Get the resources for a given slot.
|
boolean |
SchedulerAssignment.isSlotOccupied(WorkerSlot slot)
Is this slot part of this assignment or not.
|
boolean |
SchedulerAssignmentImpl.isSlotOccupied(WorkerSlot slot) |
boolean |
Cluster.isSlotOccupied(WorkerSlot slot) |
boolean |
ISchedulingState.isSlotOccupied(WorkerSlot slot)
Check if a slot is occupied or not.
|
void |
SchedulerAssignmentImpl.unassignBySlot(WorkerSlot slot)
Release the slot occupied by this assignment.
|
boolean |
Cluster.wouldFit(WorkerSlot ws,
ExecutorDetails exec,
TopologyDetails td,
NormalizedResourceOffer resourcesAvailable,
double maxHeap) |
boolean |
ISchedulingState.wouldFit(WorkerSlot ws,
ExecutorDetails exec,
TopologyDetails td,
NormalizedResourceOffer resourcesAvailable,
double maxHeap)
Would scheduling exec on ws fit? With a heap <= maxHeap total memory added <= memoryAvailable and cpu added <= cpuAvailable.
|
Modifier and Type | Method and Description |
---|---|
void |
INimbus.assignSlots(Topologies topologies,
Map<String,Collection<WorkerSlot>> newSlotsByTopologyId)
this is called after the assignment is changed in ZK.
|
void |
Cluster.freeSlots(Collection<WorkerSlot> slots)
free the slots.
|
static Set<WorkerSlot> |
DefaultScheduler.slotsCanReassign(Cluster cluster,
Set<WorkerSlot> slots) |
static List<WorkerSlot> |
EvenScheduler.sortSlots(List<WorkerSlot> availableSlots) |
Constructor and Description |
---|
SchedulerAssignmentImpl(String topologyId,
Map<ExecutorDetails,WorkerSlot> executorToSlot,
Map<WorkerSlot,WorkerResources> resources,
Map<String,Double> nodeIdToTotalSharedOffHeap)
Create a new assignment.
|
SchedulerAssignmentImpl(String topologyId,
Map<ExecutorDetails,WorkerSlot> executorToSlot,
Map<WorkerSlot,WorkerResources> resources,
Map<String,Double> nodeIdToTotalSharedOffHeap)
Create a new assignment.
|
Modifier and Type | Method and Description |
---|---|
void |
Node.free(WorkerSlot ws,
Cluster cluster,
boolean forceFree)
Frees a single slot in this node.
|
Modifier and Type | Method and Description |
---|---|
Collection<WorkerSlot> |
RasNode.getFreeSlots() |
Collection<WorkerSlot> |
RasNode.getSlotsAvailableToScheduleOn() |
Collection<WorkerSlot> |
RasNode.getUsedSlots() |
Collection<WorkerSlot> |
RasNode.getUsedSlots(String topId)
Get slots used by the given topology.
|
Modifier and Type | Method and Description |
---|---|
void |
RasNode.assign(WorkerSlot target,
TopologyDetails td,
Collection<ExecutorDetails> executors)
Assigns a worker to a node.
|
void |
RasNode.assignSingleExecutor(WorkerSlot ws,
ExecutorDetails exec,
TopologyDetails td)
Assign a single executor to a slot, even if other things are in the slot.
|
void |
RasNode.free(WorkerSlot ws)
Frees a single slot in this node.
|
boolean |
RasNode.wouldFit(WorkerSlot ws,
ExecutorDetails exec,
TopologyDetails td)
Would scheduling exec in ws fit with the current resource constraints.
|
Modifier and Type | Method and Description |
---|---|
void |
RasNodes.freeSlots(Collection<WorkerSlot> workerSlots)
Free everything on the given slots.
|
Constructor and Description |
---|
RasNode(String nodeId,
SupervisorDetails sup,
Cluster cluster,
Map<String,WorkerSlot> workerIdToWorker,
Map<String,Map<String,Collection<ExecutorDetails>>> assignmentMap)
Create a new node.
|
Modifier and Type | Method and Description |
---|---|
protected int |
BaseResourceAwareStrategy.assignBoundAckersForNewWorkerSlot(ExecutorDetails exec,
RasNode node,
WorkerSlot workerSlot)
Determine how many bound ackers to put into the given workerSlot.
|
void |
SchedulingSearcherState.assignCurrentExecutor(Map<ExecutorDetails,String> execToComp,
RasNode node,
WorkerSlot workerSlot)
Attempt to assign current executor (execIndex points to) to worker and node.
|
void |
SchedulingSearcherState.assignSingleBoundAcker(RasNode node,
WorkerSlot workerSlot)
Remove the head of unassigned ackers and attempt to assign it to a workerSlot as a bound acker.
|
void |
SchedulingSearcherState.backtrack(Map<ExecutorDetails,String> execToComp,
RasNode[] nodesForExec,
WorkerSlot[] workerSlotForExec)
Backtrack to prior executor that was directly assigned.
|
void |
SchedulingSearcherState.freeWorkerSlotWithBoundAckers(RasNode node,
WorkerSlot workerSlot)
Free the bound-ackers for the given node and workerSlot.
|
Map<String,Integer> |
SchedulingSearcherState.getCompAssignmentCntMapForWorker(WorkerSlot workerSlot)
Get a map of component to count for the specified worker slot.
|
int |
SchedulingSearcherState.getNumOfAckersToBind(ExecutorDetails exec,
WorkerSlot workerSlot)
Determine how many bound ackers to put in before assigning the executor to current workerSlot.
|
protected boolean |
ConstraintSolverStrategy.isExecAssignmentToWorkerValid(ExecutorDetails exec,
WorkerSlot worker)
Check if any constraints are violated if exec is scheduled on worker.
|
protected boolean |
BaseResourceAwareStrategy.isExecAssignmentToWorkerValid(ExecutorDetails exec,
WorkerSlot worker)
Check if the assignment of the executor to the worker is valid.
|
Constructor and Description |
---|
SchedulingSearcherState(Map<WorkerSlot,Map<String,Integer>> workerCompAssignmentCnts,
Map<RasNode,Map<String,Integer>> nodeCompAssignmentCnts,
int maxStatesSearched,
long maxTimeMs,
List<ExecutorDetails> execs,
LinkedList<ExecutorDetails> unassignedAckers,
TopologyDetails td,
Map<ExecutorDetails,String> execToComp) |
Modifier and Type | Method and Description |
---|---|
static List<WorkerSummary> |
StatsUtil.aggWorkerStats(String stormId,
String stormName,
Map<Integer,String> task2Component,
Map<List<Integer>,Map<String,Object>> beats,
Map<List<Long>,List<Object>> exec2NodePort,
Map<String,String> nodeHost,
Map<WorkerSlot,WorkerResources> worker2Resources,
boolean includeSys,
boolean userAuthorized,
String filterSupervisor,
String owner)
aggregate statistics per worker for a topology.
|
Copyright © 2023 The Apache Software Foundation. All rights reserved.