Apache Storm 的并行数设置?

Apache Storm 的并行数设置?

我正在运行一台有 4 个工作槽的 8 核机器,我有 10 个螺栓。据我所知,每个螺栓默认使用一个执行器。即:我的 8 核只有 8 个执行器。这是对还是错?如果正确,如何为我的 10 个螺栓设置并行度,如果错误,设置并行度的正确方法是什么?

答案1

可以这样理解:
一个节点(服务器)有一个主管。
主管启动/停止工作程序。
工作程序是一个进程。
执行程序是工作进程中的线程。
一个执行程序可以运行多个任务。
任务是您的 spout 或 bolt 的一个实例。
执行程序的数量始终小于或等于任务的数量。

所以现在,您的机器有多少个核心并不重要。继续创建与您拥有的螺栓数量相同的执行器。Storm 将使用线程池来管理线程,因此您的任务将自动在您的处理器上进行时间共享。

如果你创建了超过 1 个工作进程,并且你有第二个主管节点,那么该主管可能会在一个工作进程下运行 10 个螺栓中的 5 个,而第一个主管可能会在另一个工作进程下运行 10 个螺栓中的 5 个。

设置并行性没有正确和错误的方法。这在很大程度上取决于您要编写哪种逻辑。

相关内容