我们正面临卡夫卡的问题。我们的主题只有一个分区,而且只有一个消费者组中的一个消费者。消费者已停止了一个月。与此同时,制作人正在向该主题发送消息。
当我们再次启动消费者时,它无法消费消息。我假设先前提交的偏移已经丢失,因此消费者不知道在唤醒时找到起点。
当我们再次停止并启动消费者时,消费者可以获取新消息,但之前发送的所有消息都不会被消费。
偏移是否已损坏? kafka内部主题的保留期是否会抵消,这意味着最后提交的偏移量已被删除?
答案 0 :(得分:4)
答案 1 :(得分:3)
我们也面临着同样的问题,我对此进行了一些研究。我将其更改为以下已解决的步骤。
我们保留14天,因此我们将kafka抵消主题的保留时间更改为14天
我们通过在下面运行
将cleanup.policy从紧凑更改为删除.tab {
display: flex;
flex-flow: column wrap;
}
.subtab {
display: inline-flex;
}
.box {
flex: 1 0;
width: 20%;
}
主题“ __consumer_offsets”的更新配置。
答案 2 :(得分:0)
kafka中消息(偏移)的默认保留期为一周,即7天
在保留期之后,由于避免空间溢出,所有现有的偏移量将从经纪人中删除。
由于kafka / zookeeper已删除了先前的偏移量,因此先前提交的偏移量将更改为最新的偏移量。
如果您想长时间接收消息,请在kafka中创建主题时指定--retention-period值。