问题描述
我正在建立一个具有 3 个 Zookeper 和 5 个 Kafka broker 节点的 Confluent Kafka 集群(社区)。 要求是即使有 2 个代理节点宕机,我们也应该能够在实时环境中继续运行。
应该推荐什么 -复制因子, - 同步副本 对于有 50 个分区的主题。
在大多数情况下,建议的复制因子是 3 。如果我们在提到的集群配置中将其增加到 5 会有什么影响
解决方法
将复制因子设置为 5 意味着所有分区都存在于集群中的所有代理上。如果两个 broker 宕机,则不再满足复制因子要求,您的主题将复制不足(应该发出警告)。
min.insync.replicas
然后应设置为 3(或更少),否则生成带有 acks = all
的消息将失败。生成将 acks
设置为 1、2 或 3 的消息也适用于更高的 min.insync.replicas
值。
另请注意,当两个节点关闭时,您无法创建复制因子为 5 的新主题(另请参阅 KIP-409)。