风暴中的执行者数量

t30tvxxf  于 2021-06-24  发布在  Storm
关注(0)|答案(2)|浏览(419)

我在和斯托姆玩。这是我正在使用的拓扑:

builder.setSpout("word", new RandomSentenceSpout(), 3);
builder.setBolt("exclaim1", new ExclamationBolt(), 6).shuffleGrouping("word");

我以为storm会为这个拓扑生成9个执行器(3个喷口+6个螺栓),但当我实际运行它时,我可以看到11个执行器正在运行。
那两个额外的遗嘱执行人是什么?

k4emjkb1

k4emjkb11#

它们是应答器螺栓,负责管理应答机制。拓扑中有2个acker,默认情况下每个bolt任务等于一个executor。
storm将acker用作一个bolt任务(执行器),如果我们不设置acker的数量,它将在拓扑中运行其中的一些。如果要精确管理执行者的数量,请使用以下命令:

Config conf = new Config();
conf.setNumAckers(1);
klr1opcd

klr1opcd2#

您是否在拓扑中的其他位置设置numtask?共享拓扑创建代码将有助于回答。还有,你是在本地模式还是群集模式下运行这个?执行者总是小于或等于numtask。http://www.michael-noll.com/blog/2012/10/16/understanding-the-parallelism-of-a-storm-topology/ 这个博客很好地解释了storm中的并行性。

相关问题