卡夫卡0.10.1.0更改偏移时间

时间:2017-02-28 09:47:19

标签: apache-kafka offset consumer

Elasticsearch管道在两个logstash实例之间使用Kafka集群进行设置。 我需要将一个主题的偏移重置12小时,然后再次启动消费者。

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list  kfkserver:9092 --topic topicname --time 1488153601000

返回topicname:0:3730858

1488153601000< - 2017-02-27 00:00:01(毫秒)

如何设置偏移时间?

1 个答案:

答案 0 :(得分:1)

如果您使用的是0.10.x并且没有0.11中添加的强大的偏移管理工具,则可以使用kafka-console-consumer.sh来更改使用者组的偏移量。这仅适用于数字偏移,而不适用于时间戳。

首先,停止使用该消费者正在运行的任何进程。清洁关闭是最好的。然后,运行如下所示的命令:

bin/kafka-console-consumer.sh --bootstrap-server :9092 \
    --topic my-topic \
    --partition 1 \
    --consumer-property group.id=my-consumer-group \
    --max-messages 0 \
    --offset 12345

--max-messages 0在这里非常重要;将其设置为任何其他值(包括1)将消耗那么多消息,然后提交该主题/分区中的当前最新偏移。这必须是控制台消费者中的错误。

接下来,使用kafka-consumer-groups.sh检查您的工作:

./kafka-consumer-groups.sh --bootstrap-server :9092 \
    --group my-consumer-group \
    --describe