Class BlacklistScheduler
java.lang.Object
org.apache.storm.scheduler.blacklist.BlacklistScheduler
- All Implemented Interfaces:
INodeAssignmentSentCallBack,IScheduler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected IBlacklistStrategystatic final intstatic final intstatic final intprotected intprotected IReporterprotected intprotected intprotected intprotected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcleanup()called once when the system is shutting down, should be idempotent.config()This function returns the scheduler's configuration.voidnodeAssignmentSent(String node, boolean successful) voidprepare(Map<String, Object> conf, StormMetricsRegistry metricsRegistry) voidschedule(Topologies topologies, Cluster cluster) Set assignments for the topologies which needs scheduling.
-
Field Details
-
DEFAULT_BLACKLIST_SCHEDULER_RESUME_TIME
public static final int DEFAULT_BLACKLIST_SCHEDULER_RESUME_TIME- See Also:
-
DEFAULT_BLACKLIST_SCHEDULER_TOLERANCE_COUNT
public static final int DEFAULT_BLACKLIST_SCHEDULER_TOLERANCE_COUNT- See Also:
-
DEFAULT_BLACKLIST_SCHEDULER_TOLERANCE_TIME
public static final int DEFAULT_BLACKLIST_SCHEDULER_TOLERANCE_TIME- See Also:
-
toleranceTime
protected int toleranceTime -
toleranceCount
protected int toleranceCount -
resumeTime
protected int resumeTime -
reporter
-
blacklistStrategy
-
nimbusMonitorFreqSecs
protected int nimbusMonitorFreqSecs -
cachedSupervisors
-
badSupervisorsToleranceSlidingWindow
-
sendAssignmentFailureCount
-
windowSize
protected int windowSize -
blacklistedSupervisorIds
-
-
Constructor Details
-
BlacklistScheduler
-
-
Method Details
-
prepare
- Specified by:
preparein interfaceIScheduler
-
cleanup
public void cleanup()Description copied from interface:ISchedulercalled once when the system is shutting down, should be idempotent.- Specified by:
cleanupin 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.
-
getBlacklistSupervisorIds
-
nodeAssignmentSent
- Specified by:
nodeAssignmentSentin interfaceINodeAssignmentSentCallBack
-