9. Deploying and Managing Apache Storm Topologies

Use the command-line interface to deploy a Storm topology after packaging it in a jar. For example, use the following command to deploy WordCountTopology from the storm-starter jar:

storm jar storm-starter-<starter_version>-storm-<storm_version>
 .jar storm.starter.WordCountTopology WordCount -c nimbus.host=sandbox.hortonworks.com

Point a browser to the following URL to access the Storm UI and to manage deployed topologies.

http://<storm-ui-server>:8080

[Note]Note

You may need to configure Apache Storm to use a different port if Ambari is also running on the same host with Apache Storm. Both applications use port 8080 by default.

In the image above, no workers, executors, or tasks are running. However, the status of the topology remains active and the uptime continues to increase. Storm topologies, unlike traditional applications, remain active until an administrator deactivates or kills them. Storm administrators use the Storm user interface to perform the following administrative actions:

 

Table 1.17. Topology Administrative Actions

Topology Administrative Action

Description

Activate

Returns a topology to active status after it has been deactivated.

Deactivate

Sets the status of a topology to inactive. Topology uptime is not affected by deactivation.

Rebalance

Dynamically increase or decrease the number of worker processes and/or executors. The administrator does not need to restart the cluster or the topology.

Kill

Stops the topology and removes it from Apache Storm. The topology no longer appears in the Storm UI, and the administrator must deploy the application again to activate it.


Click any topology in the Topology Summary section to launch the Topology Summary page. Administrators perform any of the topology actions in the table above by clicking the corresponding button, shown in the following image.

The Executors field in the Spouts and Bolts sections show all running Storm threads, including the host and port. If a bolt is experiencing latency issues, Storm developers should look here to determine which executor has reached capacity. Click the port number to display the log file for the corresponding executor.