kafka 集群的 zookeeper 故障转移
zookeeper failover for kafka cluster
我想知道有什么方法可以使 kafka 集群的 zookeeper 故障转移。
例如:我想为我的 kafka 集群设置 2 个 zookeeper 实例。如果一个 zookeeper 出现故障,Kafka 服务器仍然能够从第二个 zookeeper 读取主题的元数据。
任何建议都是高度适用的。
Zookeeper 以所谓的法定人数的形式工作——一组节点根据简单多数票形成共识。
对于生产,您应该在仲裁中使用 3 或 5 个 Zookeeper 实例。
如果你使用 3,你的集群可以在失去一台服务器的情况下幸存下来(因为剩下的两台构成简单多数)。使用 5,您可以失去两台服务器,因为 3 是 5 的多数。
2 是个坏主意,因为如果 1 个节点出现故障,您的集群将无法工作。
请检查this question
$KAFKA_HOME/config/server.properties
这里可以设置多个zookeeper
zookeeper.connect=<server1>:2181,<server2>:2181,<server2>:2181
在 zookeeper 的情况下维护 2n+1(quorum) 规则
我想知道有什么方法可以使 kafka 集群的 zookeeper 故障转移。 例如:我想为我的 kafka 集群设置 2 个 zookeeper 实例。如果一个 zookeeper 出现故障,Kafka 服务器仍然能够从第二个 zookeeper 读取主题的元数据。
任何建议都是高度适用的。
Zookeeper 以所谓的法定人数的形式工作——一组节点根据简单多数票形成共识。
对于生产,您应该在仲裁中使用 3 或 5 个 Zookeeper 实例。 如果你使用 3,你的集群可以在失去一台服务器的情况下幸存下来(因为剩下的两台构成简单多数)。使用 5,您可以失去两台服务器,因为 3 是 5 的多数。
2 是个坏主意,因为如果 1 个节点出现故障,您的集群将无法工作。
请检查this question
$KAFKA_HOME/config/server.properties
这里可以设置多个zookeeper
zookeeper.connect=<server1>:2181,<server2>:2181,<server2>:2181
在 zookeeper 的情况下维护 2n+1(quorum) 规则