Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions conf/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ nimbus.file.copy.expiration.secs: 600
nimbus.topology.validator: "org.apache.storm.nimbus.DefaultTopologyValidator"
# The scheduler strategies that a topology is allowed to select through topology.scheduler.strategy.
# Defaults to the strategies shipped with Storm; a custom strategy must be added to this list.
# Removing this config or leaving it unset selects the same shipped strategies, not all of them.
nimbus.scheduler.strategy.class.whitelist:
- "org.apache.storm.scheduler.resource.strategies.scheduling.DefaultResourceAwareStrategy"
- "org.apache.storm.scheduler.resource.strategies.scheduling.DefaultResourceAwareStrategyOld"
Expand Down
2 changes: 1 addition & 1 deletion docs/Resource_Aware_Scheduler_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ A user can specify on a per topology basis what scheduling strategy to use. Use
Parameters:
* clazz – The strategy class that implements the IStrategy interface

Only the strategies that ship with Storm may be selected by default. A strategy of your own has to be added to `nimbus.scheduler.strategy.class.whitelist` in the nimbus configuration, otherwise nimbus refuses to schedule the topology and reports which class was refused.
Only the strategies that ship with Storm may be selected by default. They are listed under `nimbus.scheduler.strategy.class.whitelist` in *conf/defaults.yaml*, and the same set applies when that config is not set at all. This differs from earlier releases, where leaving `nimbus.scheduler.strategy.class.whitelist` unset allowed any strategy class on the nimbus classpath, so a cluster upgrading from such a release has to add its own strategies to the list. A strategy of your own has to be added to `nimbus.scheduler.strategy.class.whitelist` in the nimbus configuration, otherwise nimbus refuses to schedule the topology and reports which class was refused.

Example Usage:
```
Expand Down
3 changes: 2 additions & 1 deletion storm-client/src/jvm/org/apache/storm/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -2079,7 +2079,8 @@ public class Config extends HashMap<String, Object> {
public static final String NIMBUS_IMPERSONATION_ACL = "nimbus.impersonation.acl";
/**
* A whitelist of the RAS scheduler strategies allowed by nimbus. Should be a list of fully-qualified class names. When it is not
* set only the scheduler strategies shipped with Storm are allowed, so a custom strategy has to be listed here explicitly.
* set only the scheduler strategies shipped with Storm are allowed, so a custom strategy has to be listed here explicitly. A
* topology that selects a strategy which is not allowed is rejected by nimbus.
*/
@IsStringList
public static final String NIMBUS_SCHEDULER_STRATEGY_CLASS_WHITELIST = "nimbus.scheduler.strategy.class.whitelist";
Expand Down
Loading