forked from nathanmarz/storm
-
Notifications
You must be signed in to change notification settings - Fork 3
Local mode
nathanmarz edited this page Oct 8, 2011
·
3 revisions
Local mode simulates a Storm cluster in process and is useful for developing and testing topologies. Running topologies in local mode is similar to running topologies on a cluster.
To create an in-process cluster, simply use the LocalCluster
class. For example:
import backtype.storm.LocalCluster;
LocalCluster cluster = new LocalCluster();
You can then submit topologies using the submitTopology
method on the LocalCluster
object. Just like the corresponding method on StormSubmitter, submitTopology
takes a name, a topology configuration, and the topology object. You can then kill a topology using the killTopology
method which takes the topology name as an argument.
To shutdown a local cluster, simple call:
cluster.shutdown();
You can see a full list of configurations here.
- Config.TOPOLOGY_MAX_TASK_PARALLELISM: This config puts a ceiling on the number of threads spawned for a single component. Oftentimes production topologies have a lot of parallelism (hundreds of threads) which places unreasonable load when trying to test the topology in local mode. This config lets you easy control that parallelism.
- Config.TOPOLOGY_DEBUG: When this is set to true, Storm will log a message every time a tuple is emitted from any spout or bolt. This is extremely useful for debugging.