如果kafka抵消经理失败怎么办?

时间:2016-06-29 18:41:56

标签: apache-kafka

汇总文档显示了如何获取存储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();

1 个答案:

答案 0 :(得分:0)

通过配置: 1. offsets.topic.num.partitions :提交主题的偏移量的分区数。 &安培; 2. offsets.topic.replication.factor :偏移主题的复制因子“ 在server.properties文件中,我们将有一个Offset管理器,其中一个代理充当领导者并作为关注者休息,因此它遵循kafka中相同的领导者失败机制。

因此,当处理偏移承诺的偏移管理器关闭时,经纪人控制器最终选择一个ISR作为下一个偏移管理器领导者。