Package org.apache.storm.scheduler
Class EvenScheduler
java.lang.Object
org.apache.storm.scheduler.EvenScheduler
- All Implemented Interfaces:
INodeAssignmentSentCallBack,IScheduler
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconfig()This function returns the scheduler's configuration.static Map<WorkerSlot,List<ExecutorDetails>> getAliveAssignedWorkerSlotExecutors(Cluster cluster, String topologyId) voidprepare(Map<String, Object> conf, StormMetricsRegistry metricsRegistry) voidschedule(Topologies topologies, Cluster cluster) Set assignments for the topologies which needs scheduling.static voidscheduleTopologiesEvenly(Topologies topologies, Cluster cluster) static List<WorkerSlot>sortSlots(List<WorkerSlot> availableSlots) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.storm.scheduler.INodeAssignmentSentCallBack
nodeAssignmentSentMethods inherited from interface org.apache.storm.scheduler.IScheduler
cleanup
-
Constructor Details
-
EvenScheduler
public EvenScheduler()
-
-
Method Details
-
sortSlots
-
getAliveAssignedWorkerSlotExecutors
public static Map<WorkerSlot,List<ExecutorDetails>> getAliveAssignedWorkerSlotExecutors(Cluster cluster, String topologyId) -
scheduleTopologiesEvenly
-
prepare
- Specified by:
preparein interfaceIScheduler
-
schedule
Description copied from interface:ISchedulerSet assignments for the topologies which needs scheduling. The new assignments is available through `cluster.getAssignments()`- Specified by:
schedulein 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()`
-
config
Description copied from interface:ISchedulerThis function returns the scheduler's configuration.- Specified by:
configin interfaceIScheduler- Returns:
- The scheduler's configuration.
-