面对卡夫卡中的"leader=-1"错误时我该怎么办



我建立了一个Kafka应用程序,它有2个代理,并创建了一个有3个分区的主题,复制因子=1。然后我使用生产者进程发送数据。当生产者运行时,我杀死了3个代理中的一个,生产者进程发出以下消息:

kafka.comon.FailedToSendMessageException:尝试3次后发送消息失败

如果允许数据丢失,我该怎么做才能使生产过程自动恢复。我认为最好的解决方案是将已删除的代理中的分区移动到另外2个代理。我该怎么办?如果不是,这是否意味着在面对领导者=-1时没有办法恢复?

注意:在我的情况下,为了降低带宽利用率,复制因子设置为1。

http://kafka.apache.org/documentation.html

对于具有复制因子N的主题,我们将容忍高达N-1服务器故障,而不会丢失任何提交到日志的消息。

因此,如果您想要自动故障切换,请增加复制系数。

相关内容

最新更新