zoover故障转移为kafka集群

时间:2017-04-05 12:31:03

标签: apache-kafka apache-zookeeper

我想知道有没有办法让kafka集群的zookeeper故障转移。 例如:我想为我的kafka集群设置2个zookeeper实例。如果一个zookeeper失败,Kafka服务器仍然能够从第二个zookeeper读取主题的元数据。

任何建议都是高涨的。

2 个答案:

答案 0 :(得分:4)

Zookeeper是一个所谓的仲裁 - 一个基于简单多数投票形成共识的节点集群。

对于生产,您应该在法定人数中使用3或5个Zookeeper实例。 如果您使用的是3,那么您的群集可以在丢失一台服务器后继续存在(因为其余两台服务器形成了一个简单多数)使用5,您可能会丢失两台服务器,因为3是5的大多数。

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

请检查this question

答案 1 :(得分:2)

$KAFKA_HOME/config/server.properties

在这里你可以设置多个zookeeper

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

在zookeeper

的情况下维持2n + 1(法定人数)规则