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

如何调谐storm中的平行提示

桓瀚
2023-03-14

“并行性提示”在storm中用于并行运行的storm拓扑。我知道有像工作者过程,执行者和任务这样的概念。让并行性提示尽可能大,以便您的拓扑尽可能并行,这有意义吗?

我的问题是如何为我的storm拓扑找到一个完美的并行性提示数。它是取决于我的storm集群的规模,还是更像是拓扑/作业特定的设置,它因拓扑而异?还是两者都取决于?

共有1个答案

解晟睿
2023-03-14

添加@Chiron解释的内容

“并行性提示”在storm中用于并行运行的storm拓扑

实际上,在storm中,parallelism提示术语用于指定组件(喷口、螺栓)的执行器(线程)的初始数量,例如

    topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2)
    topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2).setNumTasks(4) 

为每个执行器配置一个以上任务的目的是,在拓扑仍在运行时,可以使用运行时中的重新平衡机制更改执行器(线程)的数量(请记住,在拓扑的整个生命周期中,任务的数量总是相同的)。

增加工作人员的数量(负责为一个或多个组件运行一个或多个执行器)也可能会给您带来性能上的好处,但这也是相对的,正如我从下面的讨论中发现的那样,nathanmarz说

拥有更多的员工可能会有更好的表现,这取决于你的瓶颈在哪里。每个worker都有一个线程,它将元组传递到0MQ连接,然后再传递给其他worker。因此,如果CPU有瓶颈,每个worker都在处理大量元组,那么更多的worker可能会为您带来更好的吞吐量。

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

  • 示例#1我将特定组件的任务数和执行器数设置为“2”。 示例#2:no of tasks 示例#3:任务数>执行者数我将特定组件的任务数设置为“5”,执行者数设置为“1”。 我不知道上面的哪一个例子将导致拓扑的最佳并行性,并建议哪一个给予Storm并行性的好处?请帮助我理解这一点。

  • 我正在尝试重新平衡正在运行的Apache Storm(0.9.5)拓扑中的bolt执行程序的数量。当我对Nimbus节点执行命令时,它接受命令行输入,但当我在Storm UI中查看时,执行者的数量不会改变。 是不是有一个限制,我没有意识到,就像再平衡不能增加执行者的总数,只能把他们从一个螺栓移动到另一个螺栓?

  • 我正试图将Storm(见这里)整合到我的项目中。我熟悉拓扑结构、喷口和螺栓的概念。但现在,我正试图弄清楚一些事情的实际实现。 所以第一个问题是如何将进入这些方法的数据连接到喷口?我试图i)传递一个backtype.storm.topology.irichspout,然后ii)传递一个backtype.storm.spout.spoutoutputcollector(见这里)给那个spout的打开函

  • 我对storm使用Deubug是新手 我强制在 但是,当我完成了对拓扑的搜索时,找不到调试的结果在哪里 我注意到在,! 为什么它看不懂我的变化?

  • 如何在spark scala代码中为版本-DataStax spark Cassandra Connector 1.6.3设置以下Cassandra写参数。 Spark版本-1.6.2 spark.cassandra.output.batch.size.rows spark.cassandra.output.concurrent.writes spark.cassandra.output.batc