物理簇设置:
术语节点通常指的是物理机(或VM)在集群中。在每个节点上,主管正在自己的JVM中运行。主管有工人插槽。这是一个逻辑配置,它告诉管理员可以启动多少员工。每个工作人员(如果启动)在自己的JVM中运行(因此,有些人称之为工作进程)。 总结:在一个节点上,有一个超级用户JVM,最多可以有多个工号插槽的工作者JVM。因此,工作JVM正在运行的节点可称为工作节点。当监督员一直在运行时,如果需要,工作人员将启动,即,如果部署了拓扑,并且在拓扑被终止时停止工作。在一名工作人员中,执行者正在作为线程(即,每个执行者映射到自己的线程)运行。
逻辑拓扑设置:
拓扑建立出来的喷口(也称为源,即没有输入数据流运营商)和螺栓(经常运营商具有至少一个输入数据流和任何数量的传出数据流 - 如果没有传出数据流,Bolt也称为sink)。对于每个喷出/博尔特可以配置两个参数:
- 任务数
- 的DOP(并行度,称为
parallelism_hint
),也就是说,你想有一个喷口执行人的数量/螺栓
任务是作品的逻辑单位(即被动的东西)。假设您使用fieldsGrouping
连接模式。因此,数据流被划分为许多子流的任务数量。任务分配给执行者,即每个执行者处理一个或多个任务。这意味着,你不能比执行者拥有更少的任务(即并行性);否则,会有一个线程没有任何工作要做。
有关更多详细信息,请参阅Storm文档(https://storm.apache.org/documentation/Understanding-the-parallelism-of-a-Storm-topology.html)。此外,关于风暴中的任务/执行者还有许多其他问题。
最后但并非最不重要的一点,您可以将numberOfWorkers
配置为拓扑。该参数表示应该开始运行拓扑结构的工作人员数量。拓扑结构的执行者总数是所有Spout/Bolts上的跳数总和。所有执行者将均匀分布在所有可用的工作者JVM上。
此外,单个工作人员只能运行单个拓扑的执行者。这是为了容错原因而完成的,即拓扑彼此隔离。同时,工人本身可以运行任何数量的执行者。