gpt4 book ai didi

apache-storm - 重新平衡后 Storm 任务状态会转移到新的执行器吗?

转载 作者:行者123 更新时间:2023-12-04 14:58:47 28 4
gpt4 key购买 nike

这是我阅读后想到的一个问题:
What is the "task" in Storm parallelism

如果我需要在 bolt 的内部状态中保留一些信息,例如,在经典的单词计数用例中,将 bolt 中看到的每个单词的计数保留在 hashmap 中。执行“rebalance”命令后,bolt 的任务很多被转移到另一个执行器,它可能在另一个 JVM 甚至另一台机器中。 Bolt 的内部状态(本例中的字数哈希图)会转移到新环境(实例/JVM/机器)吗?

当然把字数hashmap放在Zookeeper这样的中心位置就不会有这个问题了。但出于性能考虑,有时我们似乎需要将内容保存在内存中。

最佳答案

运行重新平衡后,将发生以下情况

  • 它将首先停用当前拓扑
  • 然后它将在集群内均匀分配工作人员
  • 然后拓扑将返回到其先前的激活状态

  • 这是一个 comment内森·马兹 (Nathan Marz) 这应该有助于消除您的疑虑。

    Rebalance is equivalent to those workers being killed and being created from scratch on another machine. If you want "state" to be maintained, I suggest you use something like Trident and keep your state synced on a DFS

    关于apache-storm - 重新平衡后 Storm 任务状态会转移到新的执行器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22951315/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com