庞大的 kafka 集群需要多少个 Zookeeper 服务器

jes*_*ica 1 apache-kafka apache-zookeeper

我们在集群中构建了18台kafka机器,kafka版本是1.0,在linux机器上

目前我们有 3 个 Zookeeper 服务器,但我们不知道 3 个 Zookeeper 服务器是否足以容纳 18 台 Kafka 机器

请告知我们需要多少个 Zookeeper 服务器来为 18 台 Kafka 机器提供服务?

小智 5

Zookeepers 节点的数量并不直接与集群中的代理数量相关。

3 个 Zookeeper 节点应该足够了,不过,最好了解这里的权衡是什么:

ZooKeeper 使用多数法定人数,这意味着这些协议之一中发生的每次投票都需要多数票才能进行投票。

来源 - Zookeeper Quorums

在生产环境中,ZooKeeper服务器将部署在多个节点上。这称为合奏。集合是一组2n + 1 ZooKeeper 服务器,其中n任意数量大于 0。奇数数量的服务器允许 ZooKeeper 执行领导多数选举。

来源 - Confluence ZooKeeper 多节点设置

所以,你可以在单机模式下使用单节点ZK,但是你根本不会容错。
使用3 个节点的集成,将允许您失去一个节点,但仍然运行良好。
使用5 个节点的集成,将允许您失去 2 个节点,但仍然运行良好。
使用7 个节点的集成,将允许您失去 3 个节点,但仍然运行良好。
ETC。