5 min read

In this article by Ankit Jain, the author of the book Mastering Apache Storm,This section we will seehow you how we can start the Storm UI daemon. However, before starting the Storm UI daemon, we assume that you have a running Storm cluster.

The Storm cluster deployment steps are mentioned in previous step. NNow, go to the Storm home directory (cd $STORM_HOME) at the Leader Nimbus machine and run the following command to start the Storm UI daemon:

$> cd $STORM_HOME	

$> bin/storm ui &

(For more resources related to this topic, see here.)

By default, the Storm UI starts on the 8080 port of the machine where it is started. Now, we will browse to the http://nimbus-node:8080 page to view the Storm UI, where Nnimbus-node is the IP address or hostname of the Nimbus machine.

The following is a screenshot of the Storm home page:

Insert Image B06182_Article02_0103.png

Cluster Summary Section

This portion of the Storm UI shows the version of Storm deployed in a cluster, uptime of the Nnimbus nodes, number of free worker slots, number of used worker slots, and so on. While submitting a topology to the cluster, the user first needs to make sure that the value of the Free slots column should not be zero; otherwise, the topology doesn’t get any worker for processing and will wait in the queue till a worker becomes free.

Nimbus Summary section

This portion of the Storm UI shows the number of Nimbus processes are running in Storm Cluster. The section also shows Status of Nimbus nodes. A node with Status “Leader” is an Active master while the node with Status is “Not a Leader” is a Passive master.

Supervisor Summary section

This portion of the Storm UI shows the list of supervisor nodes running in the cluster along with their Id, Host, Uptime, Slots, and Used slots columns.

Nimbus Configuration section

This portion of the Storm UI shows the configuration of the Nimbus node. Some of the important properties are:

  • supervisor.slots.ports
  • storm.zookeeper.port
  • storm.zookeeper.servers
  • storm.zookeeper.retry.interval
  • worker.childopts
  • supervisor.childopts

The definition of each of this property are covert in chapter 3.

Following is the screenshots of Nimbus Configuration:Insert Image B06182_Article02_024.png

Topology Summary section

This portion of the Storm UI shows the list of topologies running in the Storm cluster along with their ID, number of workers assigned to the topology, number of executors, number of tasks, uptime, and so on.

Let’s deploy the sample topology (if not running already) in a remote Storm cluster by running the following command:

$> cd $STORM_HOME
$> bin/storm jar ~/storm_example-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.stormadvance.storm_example.SampleStormClusterTopology storm_example

We have created SampleStormClusterTopology topology by defining three worker processes, two executors for SampleSpout, and four executors for SampleBolt. The information about the worker, executor and task is mentioned in next chapter.

After submitting SampleStormClusterTopology on the Storm cluster, the user has to refresh the Storm home page.

The following screenshot shows that the row is added for SampleStormClusterTopology in the Topology summary section. The topology section contains the name of the topology, unique ID of the topology, status of the topology, uptime, number of workers assigned to the topology, and so on. The possible values of status fields are ACTIVE, KILLED, and INACTIVE.Insert Image B06182_Article02_053.png

Let’s click on SampleStormClusterTopology to view its detailed statistics. I am attaching there are two screenshots for the same. The first one content the information about the number of numberworkers, executors, and tasks assigned to SampleStormClusterTopology topologyInsert Image B06182_Article02_046.png

The next screenshot image contains information about spout and bolts— The number of executors and tasks assigned to each spout and bolt:Insert Image B06182_Article02_057.png

The information showed in the previous screenshots are:

  1. Topology stats: This section will give the information about the number of tuples emitted, transferred, and acknowledged, the capacity latency, and so on, within the window of 10 minutes, 3 hours, 1 day, and since the start of the topology.
  2. Spouts (All time): This section shows the statistics of all the spouts running inside a topology.The detailed information of Spout stats is mentioned in chapter 3.
  3. Bolts (All time): This section shows the statistics of all the bolts running inside a topology. The detailed information of Bolt stats is mentioned in chapter 3.
  4. Topology actions: This section allows us to perform activate, deactivate, rebalance, kill, and other operation on topology’s directly through the Storm UI.
  5. Deactivate: Click on deactivate to deactivate the topology. Once the topology is deactivate, the spout stopped emitting tuples and the status of topology changed to INACTIVE on storm UI Insert Image B06182_Article_06.png

Deactivating the topology does not free the Storm resource.

  • Activate: Click on Activate button to activate the topology. Once the topology is activate, the spout again started emitting tuples.
  • Kill: Click on Kill button to destroy/kill the topology. Once the topology is killed, it will free all the Storm resource allotted to this topology. While killing the topology, Storm will first deactivate the spouts and wait for the kill time mentioned on the alerts box, so the bolts have a chance to finish the processing of the tuples emitted by spouts before the kill command. The following screenshot shows how we can kill the topology through the Storm UI:Insert Image B06182_Article_07.png

Let’s go to the Storm UI’s home page to check the status of

SampleStormClusterToplogy, as shown in the following screenshot:Insert Image B06182_Article_08.png

Summary

We have seen how to start Storm UI daemon and we have also seen Storm home page with its sections

Resources for Article:

 


Further resources on this subject:

  • [article]
  • [article]
  • [article]

LEAVE A REPLY

Please enter your comment!
Please enter your name here