我在和斯托姆玩。这是我正在使用的拓扑:
builder.setSpout("word", new RandomSentenceSpout(), 3);
builder.setBolt("exclaim1", new ExclamationBolt(), 6).shuffleGrouping("word");
我以为storm会为这个拓扑生成9个执行器(3个喷口+6个螺栓),但当我实际运行它时,我可以看到11个执行器正在运行。
那两个额外的遗嘱执行人是什么?
我在和斯托姆玩。这是我正在使用的拓扑:
builder.setSpout("word", new RandomSentenceSpout(), 3);
builder.setBolt("exclaim1", new ExclamationBolt(), 6).shuffleGrouping("word");
我以为storm会为这个拓扑生成9个执行器(3个喷口+6个螺栓),但当我实际运行它时,我可以看到11个执行器正在运行。
那两个额外的遗嘱执行人是什么?
2条答案
按热度按时间k4emjkb11#
它们是应答器螺栓,负责管理应答机制。拓扑中有2个acker,默认情况下每个bolt任务等于一个executor。
storm将acker用作一个bolt任务(执行器),如果我们不设置acker的数量,它将在拓扑中运行其中的一些。如果要精确管理执行者的数量,请使用以下命令:
klr1opcd2#
您是否在拓扑中的其他位置设置numtask?共享拓扑创建代码将有助于回答。还有,你是在本地模式还是群集模式下运行这个?执行者总是小于或等于numtask。http://www.michael-noll.com/blog/2012/10/16/understanding-the-parallelism-of-a-storm-topology/ 这个博客很好地解释了storm中的并行性。