是否可以在Apache Storm中的运行时动态添加任务,而不仅仅是重新平衡执行者



我需要在Storm中(基于文档)的Storm中的功能,尚未实现。我需要在运行时添加更多任务,而无需具有最初的大量任务,因为它可能会导致性能问题。因为每个执行程序执行多个任务不会增加并行性的级别 - 执行程序始终具有其用于其所有任务的一个线程,这意味着任务在执行程序上串行运行。

我知道可以使用rebalance命令在运行时添加执行者ANS工作过程,并且有一条规则表明#opecutors< =#任务,这意味着该任务数量在运行时应该是静态的,但是我很好奇很难(如果不是不可能)将此功能添加到风暴中。

有没有办法在风暴中实现此功能,还是根本无法完成?如果有办法,请给我线索如何做。

不确定您的意思是"因为这些额外的任务串行运行"。

任务是风暴用于利用数据并行性。从理论上讲,可以添加代码以更改运行时的任务数量。但这将是一个巨大的变化,Afaik没有计划添加此功能。

比较http://storm.apache.org/releases/1.0.3/understanding-the-parelalism-of-a-storm-topology.html

因为将密钥分配给基于任务哈希的任务,因此更改任务数量将需要重新将所有密钥重新键重新进行新任务。如果操作员建立了基于密钥的内部状态,则该状态将需要通过密钥分区并相应地重新分配。

相关内容

最新更新