如何在不损失补偿的情况下将消费者从消费者群体中分离出来?

时间:2019-02-17 17:33:14

标签: apache-kafka logstash

我有一个logtash kafka消费者小组,该小组订阅了将近20个主题,对于要处理的特定高优先级kafka主题而言效果不佳,因此我决定从该消费者小组中删除一个主题,并针对该主题启动一个单独的消费者小组高优先级主题,但不幸的是,我失去了老消费者群体中的优势。

无论如何,我是否可以使用相对于上一个使用者组的初始偏移量来启动新的logstash使用者组?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用kafka脚本为新组设置偏移量。

示例场景:

  1. 停止应用程序。
  2. 检查组的当前偏移量。您可以使用以下命令。输出将包含有关每个主题的当前偏移量,对数结束偏移量,滞后等信息。

    ./bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group groupId --describe

  3. 设置新组ID的偏移量,该偏移量将由新应用程序使用(假设您要 switch 切换的主题的偏移量为10001

    ./bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group newGroupId --to-offset 10001 --topic topicName --reset-offsets --execute

  4. 从主题列表中删除旧应用程序的topicName

  5. 使用newGroupId组ID设置新的logstash配置。
  6. 启动 old new logstash应用程序。