Storm Topology Deployment modes¶
Storm topology deployment modes dictate where and how a Storm topology is executed. Apache Storm supports running topologies in two distinct environments: Local Mode (for development and testing) and Remote/Cluster Mode (for production).^[600-developer-big-data-storm-storm-01.md]
Local Mode¶
Local mode allows topologies to be executed within the local machine's JVM, simulating a cluster environment in a single process.^[600-developer-big-data-storm-storm-01.md] This mode is primarily used for development, debugging, and testing logic without requiring a distributed cluster.^[600-developer-big-data-storm-storm-01.md]
To run a topology in local mode, the LocalCluster class is typically used, or the submission command is invoked with the -local flag.^[600-developer-big-data-storm-storm-01.md]
Example Command¶
storm jar target/storm-starter-*.jar org.apache.storm.starter.ExclamationTopology -local
Remote/Cluster Mode¶
Remote mode involves submitting the topology to an actual distributed Storm cluster, where it runs across multiple worker nodes (Supervisors) managed by Nimbus.^[600-developer-big-data-storm-storm-01.md] This is the standard mode for production deployments.^[600-developer-big-data-storm-storm-01.md]
When submitting to a remote cluster, a topology name is explicitly assigned to manage the running job.^[600-developer-big-data-storm-storm-01.md]
Example Command¶
storm jar target/storm-starter-*.jar org.apache.storm.starter.RollingTopWords production-topology
Related Concepts¶
- [[Apache Storm]]
- [[Nimbus]]
- [[Supervisor]]
- [[Spouts and Bolts]]
Sources¶
600-developer-big-data-storm-storm-01.md