- Real-time Analytics with Storm and Cassandra
- Shilpi Saxena
- 277字
- 2021-07-23 19:52:07
Delving into the internals of Storm
Now that we know which physical components are present in a Storm cluster, let's understand what happens inside various Storm components when a topology is submitted. When we say topology submission, it means that we have submitted a distributed job to Storm Nimbus for execution over the cluster of supervisors. In this section, we will explain the various steps that are executed in various Storm components when a Storm topology is executed:
- Topology is submitted on the Nimbus node.
- Nimbus uploads the code jars on all the supervisors and instructs the supervisors to launch workers as per the
NumWorker
configuration or theTOPOLOGY_WORKERS
configuration defined in Storm. - During the same duration all the Storm nodes (Nimbus and Supervisors) constantly co-ordinate with the Zookeeper clusters to maintain a log of workers and their activities.
As per the following figure, we have depicted the topology and distribution of the topology components, which are the same across clusters:

In our case, let's assume that our cluster constitutes of one Nimbus node, three Zookeepers in a Zookeeper cluster, and one supervisor node.
By default, we have four slots allocated to each supervisor, so four workers would be launched per Storm supervisor node unless the configuration is tweaked.
Let's assume that the depicted topology is allocated four workers, and it has two bolts each with a parallelism of two and one spout with a parallelism of four. So in total, we have eight tasks to be distributed across four workers.
So this is how the topology would be executed: two workers on each supervisor and two executors within each worker, as shown in the following figure:

- Java范例大全
- Python機(jī)器學(xué)習(xí):數(shù)據(jù)分析與評(píng)分卡建模(微課版)
- 編程卓越之道(卷3):軟件工程化
- C語(yǔ)言最佳實(shí)踐
- Python程序設(shè)計(jì)
- TypeScript圖形渲染實(shí)戰(zhàn):基于WebGL的3D架構(gòu)與實(shí)現(xiàn)
- 人人都是網(wǎng)站分析師:從分析師的視角理解網(wǎng)站和解讀數(shù)據(jù)
- PhoneGap Mobile Application Development Cookbook
- Python編程:從入門到實(shí)踐
- Learning Apache Cassandra
- 21天學(xué)通C++(第5版)
- Everyday Data Structures
- JavaScript前端開發(fā)基礎(chǔ)教程
- Python Linux系統(tǒng)管理與自動(dòng)化運(yùn)維
- Mastering XenApp?