kafka三节点,挂掉一个没影响,为什么挂掉两个就无法消费
时间: 2023-08-25 19:45:17 浏览: 212
Zookeeper以及kafka单节点发、服务部署
在 Kafka 集群中,每个分区通常会有多个副本(replica),它们分布在不同的节点上。其中一个副本是 leader,其他副本是 follower。生产者将消息发送到 leader 副本,而消费者从任何一个副本中消费消息。当一个节点宕机时,Kafka 集群中的其他节点会自动将该节点上的副本迁移到其他节点上,从而保证数据的可靠性和可用性。
如果您的 Kafka 集群有 3 个节点,每个分区有 3 个副本,其中 1 个副本是 leader,2 个副本是 follower。如果其中 1 个节点宕机,则仍然有 2 个节点和 3 个副本可用,可以继续提供服务。但是,如果其中 2 个节点宕机,则可能会导致集群中的某些副本不可用,从而无法消费消息。这是因为每个分区至少需要有一个副本可用才能提供服务,如果多个副本同时不可用,则会导致该分区无法提供服务。
因此,为了确保 Kafka 集群的高可用性,通常会将 Kafka 集群的节点数设置为奇数,例如 3 个节点、5 个节点、7 个节点等。这样即使有一个节点宕机,仍然能保证集群的可用性。但是,如果有多个节点同时宕机,则可能会导致集群无法提供服务。
阅读全文