2017-04-05 64 views
1

我想知道是否有任何方法可以使kafka集群的动物园管理员故障转移。 例如:我想为我的kafka集群设置2个zookeeper实例。如果一个动物园管理员失败,卡夫卡服务器仍然能够从第二动物园管理员读取主题的元数据。kafka集群的动物园管理员故障转移

任何建议是highle appricicated。

回答

4

Zookeeper作为一个所谓的法定人数 - 一个基于简单多数票形成共识的节点群。

对于生产,您应该在法定人数中使用3个或5个Zookeeper实例。 如果你使用3,你的集群可以在一台服务器上丢失(因为剩下的两个组成了简单的多数)。使用5时,可能会丢失两台服务器,因为3是5的大多数。

2是一个坏主意,因为如果1节点发生故障,您的集群将无法工作。

请检查this question

2

$KAFKA_HOME/config/server.properties

在这里你可以设置多个饲养员

zookeeper.connect=<server1>:2181,<server2>:2181,<server2>:2181

保持2N + 1(定额)在饲养员

的情况下,规则