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

如何解读Storm的并行性?

壤驷俊逸
2023-03-14
topoBuilder.setSpout("spout", new Spout(), 1);
topoBuilder.setBolt("worker", new WorkerBolt(), 5);
topoBuilder.setBolt("aggregator", new AggregatorBolt(), 1);
conf.setWorkerNum(2);

我试图测量一种分组方法,工作螺栓的实例数对结果有很大的影响。

Q2.如果要更改辅助螺栓的实例数,只需更改TopoBuilder.SetBolt(“worker”,new WorkerBolt(),20);,还是更改conf.SetWorkerNum(4);

共有1个答案

家西岭
2023-03-14

免责声明--我也是一个新手,但我会试着根据我对Storm ATM的理解来回答。

Q1.否。设置numworkers(又名“topology.workers”)决定拓扑将在集群中分配多少工作进程(插槽)。您的螺栓将在所有插槽之间分割。因此,您将有1个spout实例、5个worker bolt实例和1个aggregator bolt实例分布在2个worker进程上。在Storm文档中,实例称为任务

Q2.第一个选项。

 类似资料:
  • 什么让 topology(拓扑)可以运行: worker 进程, executors(执行器)和 tasks(任务) Storm 区分以下 3 个主要的实体, 它们在 Storm 集群中用于实际的运行 topology(拓扑): Worker 进程 Executors(线程) Tasks 这是一个简单的例子, 以说明他们之间的关系 一个 worker 进程 执行一个 topology(拓扑)的子集

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

  • 如何在storm集群中处理这种情况(最好不创建外部服务): 我只需要一个由所有拓扑实例使用的spout,例如,如果输入数据通过网络文件夹被推送到群集,该网络文件夹将扫描新文件。 类似的问题与混凝土类型的螺栓。例如,当数据由被锁定到具体物理机器的许可的第三方库处理时。

  • “并行性提示”在storm中用于并行运行的storm拓扑。我知道有像工作者过程,执行者和任务这样的概念。让并行性提示尽可能大,以便您的拓扑尽可能并行,这有意义吗? 我的问题是如何为我的storm拓扑找到一个完美的并行性提示数。它是取决于我的storm集群的规模,还是更像是拓扑/作业特定的设置,它因拓扑而异?还是两者都取决于?

  • 负载的消息数量很少,每天大约2000条,但是每个任务都需要相当长的时间。特别是一个拓扑处理每个任务所需的时间是可变的,通常在1到20分钟之间。如果按顺序处理,吞吐量不足以处理所有传入消息。所有的拓扑和Kafka系统都安装在一台单机中(16个核心,16 GB的RAM)。 由于消息是独立的,并且可以并行处理,我们正在尝试使用Storm并发能力来提高吞吐量。 为此,拓扑配置如下: null null 和