【问题标题】:What if kafka offset manager is down如果 kafka 偏移管理器宕机了怎么办
【发布时间】:2016-08-30 14:15:31
【问题描述】:

confluence 文档展示了如何获取存储在 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();

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    通过配置: 1. offsets.topic.num.partitions :提交主题的offset分区数。 & 2. offsets.topic.replication.factor:偏移主题的复制因子” 在 server.properties 文件中,我们将有一个偏移管理器,其中一个代理作为领导者,其余作为追随者,因此它遵循 kafka 中相同的领导者故障机制。

    因此,当处理 offset 提交的 offset manager 宕机时,Broker Controller 最终会选择 ISR 中的一个作为下一个 offset manager Leader。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-20
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      相关资源
      最近更新 更多