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, wait
nodeAssignmentSent
public void prepare(Map<String,Object> conf, StormMetricsRegistry metricsRegistry)
prepare
in interface IScheduler
public void cleanup()
IScheduler
cleanup
in interface IScheduler
public Map<String,Map<String,Double>> config()
IScheduler
config
in interface IScheduler
public void schedule(Topologies topologies, Cluster cluster)
IScheduler
schedule
in interface IScheduler
topologies
- 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()
TODO: This method is only used for testing . It's subject to change if we plan to use this info elsewhere.
Copyright © 2023 The Apache Software Foundation. All rights reserved.