Kafka实例是否需要创建消费组、生产者和消费者?
不需要单独创建消费组、生产者和消费者,在使用时自动生成,实例创建后,直接使用即可。
连接Kafka实例后,生产消息和消费消息,请参考向Kafka实例生产消息和消费消息。
如果消息组中没有在线的消费者(如empty状态),是否14天后会自动被删除?
消息组中没有在线的消费者(如empty状态),14天后是否会自动被删除与offsets.retention.minutes参数有关:
- 2020年6月16日前创建的实例,offsets.retention.minutes默认为2147483646分钟,约1491308天,消费组14天后不会被删除。
- 2020年6月16日以及之后创建的实例,offsets.retention.minutes默认为20160分钟,即14天,消费组14天后会自动被删除。
原因如下: Kafka通过offsets.retention.minutes参数控制消费组中offsets保留时间,在此时间内如果没有提交offset,offsets将会被删除。Kafka判定消息组中没有在线的消费者(如empty状态),且没有offsets时,将会删除此消费组。
客户端删除消费组后,在Kafka Manager中仍可以看到此消费组?
客户端删除消费组后,此消费组已经被删除了。在Kafka Manager中仍可以看到此消费组,是因为Kafka Manager存在缓存。
通过以下任意一种方法解决此问题:
- 重启Kafka Manager。
- Kafka Manager只显示14天内有消费记录的消费组,如果您不想重启Kafka Manager,可以等待14天后Kafka Manager自动清除此消费组。