当前位置: 首页 > 知识库问答 >
问题:

在Storm中配置并行性

陆翰学
2023-03-14

如何在storm集群中处理这种情况(最好不创建外部服务):

  1. 我只需要一个由所有拓扑实例使用的spout,例如,如果输入数据通过网络文件夹被推送到群集,该网络文件夹将扫描新文件。
  2. 类似的问题与混凝土类型的螺栓。例如,当数据由被锁定到具体物理机器的许可的第三方库处理时。

共有1个答案

郭博涉
2023-03-14

第一,基础:

  1. 工作者-运行的执行器,每个工作者都有自己的JVM
  2. 执行器-运行任务,每个执行器通过Storm分配给不同的工作人员
  3. 任务-运行spout/bolt代码的实例

第二,一个修正...拥有5个工人并不意味着你会自动拥有5份你的喷口。拥有5个工作者意味着您有5个单独的JVM,storm可以在其中分配执行器来运行(将其视为5个桶)。

第一次创建和提交拓扑时配置了spout的实例数:

TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("0-spout", new MySpout(), spoutParallelism).setNumTasks(spoutTasks);

由于您只希望整个集群有一个喷点,因此您可以将SPoutParallelismSPoutTasks都设置为1。

 类似资料:
  • 我是Apache Storm的新手,正在尝试为我的用例设计一个简单的拓扑。Storm中对并行性的解释(理解一个Storm拓扑的并行性)给我留下了两个疑问: 请回答以上疑问,如有不正确之处,请更正我的理解。

  • 如何为storm拓扑提供自定义配置?例如,如果我构建了一个连接到MySQL集群的拓扑,并且我希望能够更改需要连接到哪些服务器而不需要重新编译,我将如何做到这一点?我更喜欢使用配置文件,但我担心文件本身没有部署到集群中,因此它不会运行(除非我对集群工作方式的理解有缺陷)。到目前为止,我所看到的在运行时将配置选项传递到storm拓扑的唯一方法是通过命令行参数,但当您获得大量参数时,这将是混乱的。 有一

  • 我想也许我有一个@beforeSuite藏在某个地方,但这不是问题所在。我只在我的测试用例中使用@beforeClass+@afterClass,因此根据官方文档: @BeForeClass:在调用当前类中的第一个测试方法之前,将运行带注释的方法。 @AfterClass:在当前类中的所有测试方法都运行完之后,将运行带注释的方法。 发现这篇文章:在TestNG中停止并行执行 并尝试根据Cedric

  • 后台任务由在Hangfire Server的子系统中运行的专用工作线程池进行处理。当您启动后台任务服务器时,它将初始化线程池并启动固定的worker。您可以通过将值传递给 UseHangfireServer 方法来指定并行数。 var options = new BackgroundJobServerOptions { WorkerCount = Environment.ProcessorCoun

  • 在上一章节(domain section),即批处理的域语言中,讨论了整体的架构设计,并使用如下关系图来进行表示: 虽然Job对象看上去像是对于多个Step的一个简单容器,但是开发者必须要注意许多配置项。此外,Job的运行以及Job运行过程中元数据如何被保存也是需要考虑的。本章将会介绍Job在运行时所需要注意的各种配置项。

  • 我试图测量一种分组方法,工作螺栓的实例数对结果有很大的影响。 Q2.如果要更改辅助螺栓的实例数,只需更改,还是更改?