我正在尝试使用最新的Kafka CLI工具重置消费者偏移.
kafka-consumer-groups.bat --bootstrap-server kafka-host:9092 --group my-group --reset-offsets --to-earliest --all-topics
Run Code Online (Sandbox Code Playgroud)
结果我看到了这个输出:
TOPIC PARTITION NEW-OFFSET
FirstTopic 0 0
SecondTopic 0 0
Run Code Online (Sandbox Code Playgroud)
但再次运行命令:
kafka-consumer-groups.bat --bootstrap-server kafka-host:9092 --group my-group --describe
Run Code Online (Sandbox Code Playgroud)
结果输出:
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
Run Code Online (Sandbox Code Playgroud)
我尝试过其他选项,例如重置为显式偏移或直接指定主题但结果相同.输出表明操作成功,同时使用describe命令检查偏移或调试显示偏移未被更改.
任何人都可以在非动物园管理员经纪人中重置消费者抵消.
使用Kafka和Zookeeper时,我对使用偏移量存储的位置感到困惑.在某些情况下,偏移似乎存储在Zookeeper中,在其他情况下,它们存储在Kafka中.
是什么决定了偏移量是存储在Kafka还是Zookeeper中?什么是利弊?
注意:当然我也可以在一些不同的数据存储中存储我自己的偏移量,但这不是这篇文章的图片的一部分.
有关我的设置的更多详情:
由于可以从标题中邀请来宾,是否有一种方法可以获取有关Java中特定主题的使用者列表?直到现在,我仍然能够获得像这样的主题列表
final ListTopicsResult listTopicsResult = adminClient.listTopics();
KafkaFuture<Set<String>> kafkaFuture = listTopicsResult.names();
Set<String> map = kafkaFuture.get();
Run Code Online (Sandbox Code Playgroud)
但我还没有找到一种获取每个主题的消费者列表的方法