当我使用storm trident时,如果我将并行度设置为不小于2,如何使所有执行器都在不同的服务器上运行,而不仅仅是在



即,如果并行度为2,则螺栓在2个不同的服务器上运行,如果并行性为3,则螺栓运行在3个不同的Server上。这对我来说很重要,因为我不希望所有任务都只在一台服务器上运行,那太慢了。

尝试通过增加配置参数"工人数量"(默认值为1(

Config cfg = new Config();
cfg.setNumWorkers(...);

您还可以通过storm.yaml配置参数supersior.slots.ports来限制每个主机的工作者数量——对于每个端口,可以启动一个工作者JVM,因此,如果您只为该配置提供一个端口,则只有一个工作者JVM会启动。请注意,这可能会限制您可以运行的拓扑的数量。单个工作JVM将只执行来自单个拓扑的代码(以将拓扑彼此隔离(。

相关内容

最新更新