【问题标题】:Zookeeper Setup for 2 Rack failover handling用于 2 机架故障转移处理的 Zookeeper 设置
【发布时间】:2017-11-10 20:18:22
【问题描述】:

我正在尝试了解 Zookeeper 设置的影响和设计,因为 Kafka 的操作依赖于 zookeeper。

Zookeeper 指定要设置 2F+1 个节点以实现可靠的容错。考虑一下,如果我有 2 个机架,我在机架 A 上设置了 4 个节点,在机架 B 上设置了 5 个节点(总共 9 个 zookeeper 节点),并且机架 B 出现故障(5 个 zookeeper 节点出现故障)。在这种情况下,需要 2F+1,它需要 11 个 zookeeper 节点,而我只有 9 个节点。因此,如果节点数量较多的机架故障,zookeeper 将无法维持,这将影响 Kafka 集群的行为。

您能否就如何更好地设置 zookeeper 提供您的意见,以便 Kafka 可以在 2 个机架基础设施的情况下无缝工作

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    由于zookeeper集群需要一个quorum,有2个机架,无论zookeeper实例有多少,你都无法实现一个整个机架宕机的容忍度。但是,您可以通过 3 个机架和每个机架上相同数量的 zookeeper 实例来实现。

    【讨论】:

    • 感谢您的回复。当你说它需要每个机架上相同数量的 zookeeper 实例时,你能澄清一下你的意思吗?你的意思是,如果我有 3 个机架设置,我不能在机架 A 上使用 4 个 znode、机架 B 上的 3 个 znode 和机架 C 上的 2 个 znode 单独设置 zookeeper 集成?
    • 可以,只要任一机架的节点数不超过一半即可。我把它简化了——你是对的。顺便说一句,znode 是 zookeeper 数据树中的一个节点。它不是 Zookeeper 服务器实例。
    猜你喜欢
    • 1970-01-01
    • 2017-08-31
    • 2016-01-25
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多