Skip to content

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
^[600-developer-big-data-storm-storm-01.md]

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
^[600-developer-big-data-storm-storm-01.md]

  • [[Apache Storm]]
  • [[Nimbus]]
  • [[Supervisor]]
  • [[Spouts and Bolts]]

Sources

  • 600-developer-big-data-storm-storm-01.md