汇总文档显示了如何获取存储kafka的消费者偏移量,如下所示:https://cwiki.apache.org/confluence/display/KAFKA/Committing+and+fetching+consumer+offsets+in+Kafka
似乎有一个代理被指定为偏移管理器,所有偏移提取和提交都是对这个代理完成的。但是如果这个经纪人失败怎么办?
Broker offsetManager = metadataResponse.coordinator();
// if the coordinator is different, from the above channel's host then reconnect
channel.disconnect();
channel = new BlockingChannel(offsetManager.host(), offsetManager.port(),
BlockingChannel.UseDefaultBufferSize(),
BlockingChannel.UseDefaultBufferSize(),
5000 /* read timeout in millis */);
channel.connect();
答案 0 :(得分:0)
通过配置: 1. offsets.topic.num.partitions :提交主题的偏移量的分区数。 &安培; 2. offsets.topic.replication.factor :偏移主题的复制因子“ 在server.properties文件中,我们将有一个Offset管理器,其中一个代理充当领导者并作为关注者休息,因此它遵循kafka中相同的领导者失败机制。
因此,当处理偏移承诺的偏移管理器关闭时,经纪人控制器最终选择一个ISR作为下一个偏移管理器领导者。