我正在尝试使用最新的Kafka CLI工具重置消费者偏移量。
kafka-consumer-groups.bat --bootstrap-server kafka-host:9092 --group my-group --reset-offsets --to-earliest --all-topics
结果我看到了这个输出:
TOPIC PARTITION NEW-OFFSET
FirstTopic 0 0
SecondTopic 0 0
但是再次运行命令:
kafka-consumer-groups.bat --bootstrap-server kafka-host:9092 --group my-group --describe
导致输出:
Consumer group 'my-group' has no active members.
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG
FirstTopic 0 1230 1230 0
SecondTopic 0 1022 1022 0
我尝试了其他选项,例如重置为显式偏移或直接指定主题但结果相同。输出表明操作成功,同时使用describe命令检查偏移或调试显示偏移未被更改。
任何人都可以在非动物园管理员经纪人中重置消费者抵消。
答案 0 :(得分:50)
默认情况下,--reset-offsets
只打印操作结果。要实际执行操作,您需要在命令中添加--execute
:
kafka-consumer-groups.bat --bootstrap-server kafka-host:9092 --group
my-group --reset-offsets --to-earliest --all-topics --execute
答案 1 :(得分:1)
尽管已接受的答案可以完美地回答OP问题,但仍有更多参数可用于重置偏移量。因此,添加此答案以扩展可接受的答案。
将所有主题的偏移量重置为最早的消费者组
kafka-consumer-groups.sh --bootstrap-server <kafka_broker_host:9091> --group
<group_name> --reset-offsets --to-earliest --all-topics --execute
将特定主题的偏移量重置为最早的消费者组
kafka-consumer-groups.sh --bootstrap-server <kafka_broker_host:9091> --group
<group_name> --reset-offsets --to-earliest --topic <my-topic> --execute
要将特定主题的偏移量重置为消费者组中的特定偏移量
kafka-consumer-groups.sh --bootstrap-server <kafka_broker_host:9091> --group
<group_name> --reset-offsets --to-offset 1000 --topic <my-topic> --execute
其他受支持的参数:
-移位 [正整数或负整数]-从给定整数向前或向后偏移偏移量。
-当前和-最新与-要偏移和- -最早。
-至今时间 [日期时间格式为 yyyy-MM-ddTHH:mm:ss.xxx ]
kafka-consumer-groups.sh --bootstrap-server <kafka_broker_host:9091> --group
<group_name> --reset-offsets --to-datetime 2017-08-04T00:00:00.000 [ --all-topics or --topic <topic-name> ] --execute
-按持续时间 [格式为 PnDTnHnMnS ]
kafka-consumer-groups.sh --bootstrap-server <kafka_broker_host:9091> --group
<group_name> --reset-offsets --by-duration PT0H10M0S [ --all-topics or --topic <topic-name> ] --execute
重置为从当前时间戳记的持续时间偏移。
如何验证?
使用以下命令检查偏移量的当前/结束位置,并确认重置是否有效。
kafka-consumer-groups.sh --bootstrap-server <kafka_host:port> --group <group_id> --describe
示例输出:
Consumer group 'group1' has no active members.
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
intro 0 0 99 99 - - -
可能的错误:
错误:仅当组'[group_name]'不活动,但当前状态为稳定时,才可以重置分配。
“稳定”表示该组正在运行一个活动的使用者。因此,首先您必须停止活动的使用者,然后重试重置偏移量。
如果消费者组有有效的消费者,则无法重置偏移量。