首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Kafka HA中,为什么至少需要3名经纪人而不是2名经纪人?

在Kafka HA中,为什么至少需要3名经纪人而不是2名经纪人?
EN

Stack Overflow用户
提问于 2019-11-08 05:55:57
回答 2查看 9.8K关注 0票数 6

我们正在尝试使用Kafka集群来实现kafka HA。在进行研发时,我们发现推荐给动物园管理员和kafka经纪人的最小节点数是3个。

我们理解为什么动物园管理员应该有最少3个节点,因为对于领袖选举最小(n+1)/2节点应该启动和运行。

但还不清楚,为什么至少需要3名卡夫卡经纪人。为什么我们不能用两个kafka代理和3个zookeepr节点来实现HA呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-18 07:46:56

由于仲裁属性的存在,动物园管理员的最小节点数为3。这应该是奇怪的,因为没有使用偶数的节点。例如:节点总数为8个的动物园管理员可以降级为7个。由于协商一致的算法,动物园管理员中的许多节点也不是很好。(例如:帕克斯)

对于卡夫卡集群,我个人认为设置2个经纪人是可以的。但最好有3名经纪人。因为维护ISR - In同步副本的原因。

假设你的卡夫卡集群有两个经纪人。为了保持数据的高可用性和一致性,我们将副本和ISR都设置为2,有趣的部分是min-ISR属性。如果您将min设置为1,则领导者失败,很可能您没有任何剩余的副本。如果您将min设置为2,当领导者或跟随者失败时,生产者和消费者也不能工作。

如果我们的Kafka集群有3个代理,并且我们设置ISR = 3,则min等于2。在这种配置下,我们承担在工作中丢失一个副本(领导者或追随者)的风险。例如,如果我们失去了领袖,至少有一个跟随者不同步地进行切换。如果我们失去了一个追随者,我们仍然有一个剩余的追随者保持最小ISR为2。

票数 12
EN

Stack Overflow用户

发布于 2019-11-18 07:58:06

除@hqt外,还回答:

您可以只使用2个代理来安装Kafka集群,但是推荐的生产replication-factor3,因此需要3个brokers才能实现这一点。

另外,你应该考虑到汇合会正在努力将领袖选举迁移到卡夫卡,所以在未来你将不再需要动物园管理员了,这可能意味着有一些卡夫卡经纪人。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58761164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档