public class ResourceAwareScheduler extends Object implements IScheduler
| Constructor and Description |
|---|
ResourceAwareScheduler() |
| Modifier and Type | Method and Description |
|---|---|
void |
cleanup()
called once when the system is shutting down, should be idempotent.
|
Map<String,Map<String,Double>> |
config()
This function returns the scheduler’s configuration.
|
Map<String,Set<String>> |
getEvictedTopologiesMap()
Return eviction information as map {scheduled topo : evicted topos} NOTE this method returns the map of a completed scheduling round.
|
void |
prepare(Map<String,Object> conf,
StormMetricsRegistry metricsRegistry) |
void |
schedule(Topologies topologies,
Cluster cluster)
Set assignments for the topologies which needs scheduling.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitnodeAssignmentSentpublic void prepare(Map<String,Object> conf, StormMetricsRegistry metricsRegistry)
prepare in interface ISchedulerpublic void cleanup()
ISchedulercalled once when the system is shutting down, should be idempotent.
cleanup in interface ISchedulerpublic Map<String,Map<String,Double>> config()
ISchedulerThis function returns the scheduler’s configuration.
config in interface ISchedulerpublic void schedule(Topologies topologies, Cluster cluster)
ISchedulerSet assignments for the topologies which needs scheduling. The new assignments is available through cluster.getAssignments()
schedule in interface ISchedulertopologies - all the topologies in the cluster, some of them need schedule. Topologies object here only contain static information about topologies. Information like assignments, slots are all in the cluster object.cluster - the cluster these topologies are running in. cluster contains everything user need to develop a new scheduling logic. e.g. supervisors information, available slots, current assignments for all the topologies etc. User can set the new assignment for topologies using cluster.setAssignmentById()`public Map<String,Set<String>> getEvictedTopologiesMap()
Return eviction information as map {scheduled topo : evicted topos} NOTE this method returns the map of a completed scheduling round. If scheduling is going on, this method will return a map of last scheduling round
TODO: This method is only used for testing . It’s subject to change if we plan to use this info elsewhere.
Copyright © 2021 The Apache Software Foundation. All rights reserved.