Class MultitenantScheduler
java.lang.Object
org.apache.storm.scheduler.multitenant.MultitenantScheduler
- All Implemented Interfaces:
INodeAssignmentSentCallBack
,IScheduler
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionconfig()
This function returns the scheduler's configuration.void
prepare
(Map<String, Object> conf, StormMetricsRegistry metricsRegistry) void
schedule
(Topologies topologies, Cluster cluster) Set assignments for the topologies which needs scheduling.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.storm.scheduler.INodeAssignmentSentCallBack
nodeAssignmentSent
Methods inherited from interface org.apache.storm.scheduler.IScheduler
cleanup
-
Field Details
-
configLoader
-
-
Constructor Details
-
MultitenantScheduler
public MultitenantScheduler()
-
-
Method Details
-
prepare
- Specified by:
prepare
in interfaceIScheduler
-
config
Description copied from interface:IScheduler
This function returns the scheduler's configuration.- Specified by:
config
in interfaceIScheduler
- Returns:
- The scheduler's configuration.
-
schedule
Description copied from interface:IScheduler
Set assignments for the topologies which needs scheduling. The new assignments is available through `cluster.getAssignments()`- Specified by:
schedule
in interfaceIScheduler
- 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()`
-