在 Apache Storm 中重新平衡执行器

Posted

技术标签:

【中文标题】在 Apache Storm 中重新平衡执行器【英文标题】:Rebalancing executors in Apache Storm 【发布时间】:2015-08-11 03:09:24 【问题描述】:

我正在尝试重新平衡正在运行的 Apache Storm (0.9.5) 拓扑中的螺栓的执行器数量。当我对 Nimbus 节点 ./storm rebalance MyTopology -n 2 -e GreenBolt=4 执行命令时,它接受命令行输入,但在 Storm UI 中查看时执行器的数量没有改变。

是否有我不知道的限制,例如再平衡不能增加执行者的总数,只能将它们从一个螺栓移动到另一个螺栓?

【问题讨论】:

阅读此处:storm.apache.org/documentation/… 在部署拓扑时,您是否将任务数设置得足够高? 谢谢马蒂亚斯。我阅读了文档,但我没有意识到您需要设置大量任务。 “在拓扑的整个生命周期中,组件的任务数量始终相同,但组件的执行器(线程)数量会随时间而变化。”我想这支持你的答案。我会去的。谢谢! 【参考方案1】:

您总是需要比执行者拥有更多(或相同数量)的任务。由于任务数量是固定的,因此您需要设置比初始执行器更大的初始数量,以便能够在运行时扩大执行器的数量。您可以看到任务的数量,作为执行者的最大数量:

#executors <= #numTasks

详情请看这里:https://storm.apache.org/documentation/Understanding-the-parallelism-of-a-Storm-topology.html

【讨论】:

所以没有办法在storm中进行某种动态任务重复?(能够在运行时添加更多任务)它还没有实现或无法完成?在这里问问题***.com/questions/42487777/… 不可能。

以上是关于在 Apache Storm 中重新平衡执行器的主要内容,如果未能解决你的问题,请参考以下文章

storm本地模式运行无执行问题

谷歌数据流与 Apache Storm

apache storm基本原理及使用总结

原译文理解storm拓扑并行度

Apache Strom 实时计算系统

Apache Strom 实时计算系统