Class BlacklistScheduler
java.lang.Object
org.apache.storm.scheduler.blacklist.BlacklistScheduler
- All Implemented Interfaces:
INodeAssignmentSentCallBack
,IScheduler
-
Field Summary
Modifier and TypeFieldDescriptionprotected IBlacklistStrategy
static final int
static final int
static final int
protected int
protected IReporter
protected int
protected int
protected int
protected int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
cleanup()
called once when the system is shutting down, should be idempotent.config()
This function returns the scheduler's configuration.void
nodeAssignmentSent
(String node, boolean successful) void
prepare
(Map<String, Object> conf, StormMetricsRegistry metricsRegistry) void
schedule
(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:
prepare
in interfaceIScheduler
-
cleanup
public void cleanup()Description copied from interface:IScheduler
called once when the system is shutting down, should be idempotent.- Specified by:
cleanup
in interfaceIScheduler
-
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()`
-
config
Description copied from interface:IScheduler
This function returns the scheduler's configuration.- Specified by:
config
in interfaceIScheduler
- Returns:
- The scheduler's configuration.
-
getBlacklistSupervisorIds
-
nodeAssignmentSent
- Specified by:
nodeAssignmentSent
in interfaceINodeAssignmentSentCallBack
-