Class ResourceAwareScheduler
java.lang.Object
org.apache.storm.scheduler.resource.ResourceAwareScheduler
- All Implemented Interfaces:
- INodeAssignmentSentCallBack,- IScheduler
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidcleanup()called once when the system is shutting down, should be idempotent.config()This function returns the scheduler's configuration.Return eviction information as map {scheduled topo : evicted topos} NOTE this method returns the map of a completed scheduling round.voidprepare(Map<String, Object> conf, StormMetricsRegistry metricsRegistry) voidschedule(Topologies topologies, Cluster cluster) Set assignments for the topologies which needs scheduling.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.storm.scheduler.INodeAssignmentSentCallBacknodeAssignmentSent
- 
Constructor Details- 
ResourceAwareSchedulerpublic ResourceAwareScheduler()
 
- 
- 
Method Details- 
prepare- Specified by:
- preparein interface- IScheduler
 
- 
cleanuppublic void cleanup()Description copied from interface:ISchedulercalled once when the system is shutting down, should be idempotent.- Specified by:
- cleanupin interface- IScheduler
 
- 
configDescription copied from interface:ISchedulerThis function returns the scheduler's configuration.- Specified by:
- configin interface- IScheduler
- Returns:
- The scheduler's configuration.
 
- 
scheduleDescription copied from interface:ISchedulerSet assignments for the topologies which needs scheduling. The new assignments is available through `cluster.getAssignments()`- Specified by:
- schedulein interface- IScheduler
- Parameters:
- 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()`
 
- 
getEvictedTopologiesMapReturn 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 roundTODO: This method is only used for testing . It's subject to change if we plan to use this info elsewhere. - Returns:
- a MAP of scheduled (topo : evicted) topos of most recent completed scheduling round
 
 
-