为什么我的Kafka主题不能在代理关闭时使用?

wkftcu5l  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(382)

我的问题是,我有一个三代理kafka集群,当我的三个代理中的一个或两个停机时,有一个访问和生成主题的可用性要求。
我也有一个可靠性要求有一个复制因子3。这些对我来说似乎是相互矛盾的要求。我的问题是这样表现出来的:
我用复制因子3创建了一个新主题
我给这个主题发了几条信息
我杀了一个经纪人来模拟经纪人的问题
我尝试使用我创建的主题
我的客户挂断了
我查看日志并看到错误:活动代理的数量“2”不符合偏移量主题所需的复制因子“3”
如果我将我的代理的offsets.topic.replication.factor设置都设置为1,那么即使将主题级复制因子设置为3,我也可以生成和使用我的主题。
这个配置可以吗?或者你能看到这样设置的陷阱吗?

cig3rfwq

cig3rfwq1#

创建主题时,只需要与复制因子相同数量的代理。
我猜在你的例子中,你从一个新的集群开始,还没有消费者连接。在这种情况下 __consumer_offsets 内部主题不存在,因为它只在第一次需要时创建。因此,首先连接一个消费者片刻,然后杀死其中一个经纪人。
除此之外,为了消费你只需要一个代理,分区的领导者。

相关问题