【问题标题】:how does storm leverage zookeeper for resilience?Storm 如何利用 Zookeeper 的弹性?
【发布时间】:2014-02-25 19:19:12
【问题描述】:

从Storm的描述来看,它是基于Zookeeper的,当一个worker节点死掉时,它可以被恢复并从zookeeper那里得到它的状态。

有人知道这是怎么做到的吗?具体

  1. 失败的工作节点如何恢复?
  2. zookeeper 如何保持其状态。 AFAIK,每个区域只能存储少量数据。

【问题讨论】:

    标签: apache-zookeeper apache-storm


    【解决方案1】:

    您指的是工人还是主管?每个storm工作节点都运行一个storm“supervisor”守护进程来管理worker进程。

    1. 您需要设置监管(类似于 daemontools 或 supervisord,与风暴监管者无关)来监控和重启 nimbus 和监管者守护程序,以防它们出现异常。 nimbus 和 supervisor 都是快速失败和无状态的。 Zookepeer 用于 nimbus 和 supervisor 之间的协调,同时保存状态信息,这些信息保存在 zookeeper 或磁盘上,以免丢失状态信息。
    2. 状态数据不大,Zookeeper 也应该在监督下运行。

    查看this 了解更多容错细节。

    【讨论】:

    • 如果statement信息很大,是否可以或建议让zookeeper直接从数据库中获取一些状态信息?
    • 还没有研究过,所以希望有更好理解的人能加入。
    猜你喜欢
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    相关资源
    最近更新 更多