我想按时间戳重置kafka使用者群组的偏移量。 但是当我使用以下命令时:
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --reset-offsets --to-datetime 2017-11-1907:52:43:00:000 --group <group_name> --topic <topic_name> --execute
我收到以下错误消息:
注意:这只会显示有关使用该消费者的消费者的信息 Java消费者API(非基于ZooKeeper的消费者)。
如何根据时间重置偏移量
答案 0 :(得分:4)
调用
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092
--group test-group --reset-offsets --all-topics --to-datetime 2017-08-04T00:00:00.000
可以在给定的日期时间之后将偏移重置为最早的偏移量。例如,日期时间格式为yyyy-MM-ddTHH:mm:ss.xxx
,2017-08-04T00:00:00.000。
您还可以按持续时间重置偏移量。请参阅以下示例:
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092
--group test-group --reset-offsets --all-topics --by-duration PT0H30M0S
--by-duration
重置偏移量以抵消当前时间戳的持续时间。格式:'PnDTnHnMnS'。
答案 1 :(得分:3)
这不是错误,而是一个警告 - 因为您指定了--bootstrap-server
选项,然后更改将仅影响使用新Java API实现的使用者。如果您的消费者是使用其他API构建的,那么您需要指定--zookeeper
选项。
答案 2 :(得分:1)
旧线程,但是如果您想使用kafka偏移量,此链接将很有帮助。
要点:
Kafka 0.11.0.0(Confluent 3.3.0)添加了对偏移的支持 通过cli
kafka-consumer-groups
命令获取消费者组。
列出该组所订阅的主题
bash kafka-consumer-groups --bootstrap-server <kafkahost:port> --group <group_id> --describe
注意“ CURRENT-OFFSET”下的值和 “日志结束偏移”。 “ CURRENT-OFFSET”是此使用者的偏移量 组当前位于每个分区中。重置主题的使用者偏移量(预览)
bash kafka-consumer-groups --bootstrap-server <kafkahost:port> --group <group_id> --topic <topic_name> --reset-offsets --to-earliest
将显示重置的预期结果,但不会实际运行。重置主题的使用者偏移(执行)
bash kafka-consumer-groups --bootstrap-server <kafkahost:port> --group <group_id> --topic <topic_name> --reset-offsets --to-earliest --execute
这将执行重置,并将指定主题的使用者组偏移重置为0。重复1以检查重置是否成功
注意
- 使用者组在执行重置时必须没有正在运行的实例。否则,重置将被拒绝。
还有许多其他重置选项,请运行
kafka-consumer-groups
以获得详细信息
- -按
- -最新
- -最新
- -要抵消
- -截止日期
- -按持续时间
该命令还提供了一个重置所有主题的偏移量的选项 消费者组订阅:
--all-topics