I am developing a storm topology locally. I am using the Storm 0.9.2-incubating and have developed a simple Topology. When I deploy it using the LocalCluster() option, it works fine, but it will not show up in my Storm UI it just executes.
When I deploy it regularly, it will show the Topology in my Storm UI, but no spouts or bolts will be visible when I click it.
I have also tried this with example WordCountTopology that comes in many storm starter projects. The same behavior happens.
My question is really, why are the spouts and bolts not showing up? If you deploy a topology locally without using LocalCluser() option will that cause problems? Is it possible to deploy a topology on my local box and see it in Storm UI with all the spouts and bolts and not have it execute immediately, but wait for something such as a kafka message?
Are you running Storm Supervisor? If you deploy a new topology and Supervisor isn't running the topology will show up in the UI but since its never initialized it doesn't show any stats when you click into it.
Related
We created a storm topology and tested in local mode and everything works great. We then did a build and submitted to nimbus and one supervisor with 4 slots. The topology appears on the storm UI and is shown as active, with 4 slots used on the cluster. But when the topology is clicked, there are no spouts, no bolts, no statistics information. Nothing is written to our Redis database either. So we are wondering if there is something we are not doing.
Storm version: 2.0.0
OS: Linux Mint 19.1 Cinnamon
I deploy a storm cluster with version 1.0.2. There is a case as below:
A topology is created and is submitted on the cluster to do some analysis for one client/customer. When another client also needs the same analysis, as I think, the similar bolts can be created and append the spout in the topology. I wonder if it's possible to create such bolts when the topology is running. That means the running analysis for the first client can't be interrupted. Is it possible?
Thanks for your any comments.
Max
Altering a running topology is not possible. You need to kill the topology and re-submit it with the newly added bolt.
Is it possible to change the topology layout while it is running? I would like to change the stream groupings and bolts while it is active.
Submitting the yaml file with the new topology layout says it cannot deploy since it is already running.
I'm using Apache Storm 0.10.0
Thanks
It is not possible to change the structure of a topology while it is running. You need to kill the topology and redeploy the new version afterwards.
The only parameter you can change while a topology is running it the parallelism. See here for more details:
V 2.0.0 - https://storm.apache.org/releases/2.0.0/Understanding-the-parallelism-of-a-Storm-topology.html
I am using Storm Topology to read from Kafka queue and emit aggregates using a single spout. When I have a single supervisor node, the topology is working fine and spout is emitting fine. However when a second supervisor node is added, the spout stops emitting. I was able to verify that there are two supervisor nodes using storm ui. There are no errors either in supervisor.log or worker log files on both the nodes.
Please help me in resolving this issue.
Is there a configuration parameter in storm so that a topology will still be displayed after it is killed ?
Thank you
No, there is no configuration parameter for this. After a Storm topology is killed, it is removed from the Storm UI. According to Storm's documentation, the Storm UI is only for monitoring "running topologies." See the bottom of the page at https://storm.apache.org/documentation/Running-topologies-on-a-production-cluster.html