消息在kafka中重复

时间:2017-05-19 07:12:38

标签: apache-kafka

我正在使用单节点Kafka代理(v 0.10.2)硬件(8核,16 GB RAM,1 TD HardDisk)和zookeeper(v 3.4.8)。我有一个200分区的主题,其中消息包含总共3百万条消息。完成处理所有消息需要5天时间,一旦消息得到处理,即Kafka-consumer-groups.sh在主题的所有分区中显示0滞后我停止了消费者。但是在6小时后再次显示滞后200万条消息我发现是重复的消息。这件事情经常发生。我的偏移量存储在Kafka经纪人身上。 我的服务器配置是:

broker.id=1
delete.topic.enable=true
#listeners=PLAINTEXT://:9092
#advertised.listeners=PLAINTEXT://your.host.name:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/kafka/data/logs
num.partitions=1
num.recovery.threads.per.data.dir=5
log.flush.interval.messages=10000
#log.flush.interval.ms=1000
log.retention.hours=480
log.retention.bytes=1073741824
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=<zkIp>:2181
zookeeper.connection.timeout.ms=6000

我缺少配置吗? 任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

问题在于,由于 offsets.retention.minutes 为1440(1天),因此__consumer_offsets主题中的偏移被删除了 配置的时间等,当消费者重新启动时,它没有找到 从哪里开始,我的auto.offset.reset设置为最早的消费者,所以我的消息被重建。 设置offsets.retention.minutes to 143200。解决了问题。