当我使用storm trident时,如果我将并行度设置为不小于2,那么如何让所有执行程序在不同服务器上运行而不仅仅在一台服务器上?

时间:2016-09-01 03:15:46

标签: apache-storm trident

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

1 个答案:

答案 0 :(得分:0)

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

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

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