Storm Management Commands

Read more about »
  • Java 9 features
  • Read about Hadoop
  • Read about Storm
  • Read about Storm

Storm's management commands are used to deploy and manage topologies running in a cluster. Management commands typically, but not necessarily, run from a workstation outside of the Storm cluster. They communicate to the nimbus Thrift API and thus need to know the hostname of the nimbus node. The management commands look for configuration from the ~/.storm/storm.yaml file, and Storm's jars are appended to the classpath. The only required configuration parameter is the hostname of the nimbus node: "nimbus01"

This page describes all the commands that are possible with the "storm" command line client.


Syntax: storm jar topology-jar-path class ...

Runs the main method of class with the specified arguments. The storm jars and configs in ~/.storm are put on the classpath. The process is configured so that StormSubmitter will upload the jar at topology-jar-path when the topology is submitted.


Syntax: storm kill topology-name [-w wait-time-secs]

Kills the topology with the name topology-name. Storm will first deactivate the topology's spouts for the duration of the topology's message timeout to allow all messages currently being processed to finish processing. Storm will then shutdown the workers and clean up their state. You can override the length of time Storm waits between deactivation and shutdown with the -w flag.


Syntax: storm activate topology-name

Activates the specified topology's spouts.


Syntax: storm deactivate topology-name

Deactivates the specified topology's spouts.


Syntax: storm rebalance topology-name [-w wait-time-secs]

Sometimes you may wish to spread out where the workers for a topology are running. For example, let's say you have a 10 node cluster running 4 workers per node, and then let's say you add another 10 nodes to the cluster. You may wish to have Storm spread out the workers for the running topology so that each node runs 2 workers. One way to do this is to kill the topology and resubmit it, but Storm provides a "rebalance" command that provides an easier way to do this.

Rebalance will first deactivate the topology for the duration of the message timeout (overridable with the -w flag) and then redistribute the workers evenly around the cluster. The topology will then return to its previous state of activation (so a deactivated topology will still be deactivated and an activated topology will go back to being activated).


Syntax: storm repl

Opens up a Clojure REPL with the storm jars and configuration on the classpath. Useful for debugging.


Syntax: storm classpath

Prints the classpath used by the storm client when running commands.


Syntax: storm localconfvalue conf-name

Prints out the value for conf-name in the local Storm configs. The local Storm configs are the ones in ~/.storm/storm.yaml merged in with the configs in defaults.yaml.


Syntax: storm remoteconfvalue conf-name

Prints out the value for conf-name in the cluster's Storm configs. The cluster's Storm configs are the ones in $STORM-PATH/conf/storm.yaml merged in with the configs in defaults.yaml. This command must be run on a cluster machine.


Syntax: storm nimbus

Launches the nimbus daemon.


Syntax: storm supervisor

Launches the supervisor daemon.


Syntax: storm ui

Launches the UI daemon. The UI provides a web interface for a Storm cluster and shows detailed stats about running topologies.


Syntax: storm drpc

Launches a DRPC daemon.