当前位置: 首页 > 知识库问答 >
问题:

无法侦听某些主题(共有三个主题,但仅查找“分配的分区:[……]”日志)(两个主题)

陆耀
2023-03-14

我在linux服务器上运行了一个Spring启动应用程序,它听了三个主题,起初,它运行得很好,但是几分钟后,我发现“(重新)加入组...”日志,然后只有两个主题被听了,另一个不能听,没有错误或警告日志可以找到,我不知道如何解决这个问题,只是不知道发生了什么

在第一,我想也许我的消费者配置是不正确的,我设置max.poll.interval.ms:5000,max.poll.records:50。

在我的听众中,我用这个注释来听一个话题

@KafkaListener(topics = "xxx")

我希望这三个主题都可以,但现在只有两个可以

ps:一开始,一切正常,几分钟后,在(重新)加入小组后,一个主题无法正常工作,并且没有错误日志或警告日志

共有1个答案

东方华荣
2023-03-14

(重新)加入群组意味着有另一个消费者加入同一群组,并发生了重新平衡。Kafka试图在小组成员之间平均分配分区。这可能就是为什么你看不到消费者调查的第三个主题的原因。就因为它已经转到另一个了。

在这里查看更多关于再平衡的信息:“再平衡”在Apache Kafka上下文中是什么意思?

 类似资料:
  • Kafka主题分区偏移位置始终从0或随机值开始,如何确保使用者记录是分区中的第一条记录?有没有办法找出答案?如果有的话,请让我知道。谢谢。

  • 我有@KafkaListener使用topicPattern与正则表达式,工作正常(foo。*),但现在我想将侦听器分配给所有匹配主题的所有分区。 https://docs.spring.io/spring-kafka/docs/2.6.1/reference/html/#tip-assign-all-parts并没有真正帮助我,因为我不知道主题名称。

  • 简单问题: 假设我有一个具有3个分区的主题:Topic:StateEvents P1、P2和P3。 让我们假设生产者生成20条消息: 1, 2, 3, ..........20 我的问题是: 当制作人生成这些消息时: 1)每个消息将只在且仅在1个分区?也就是说,1在P1,2在P2,3在P3,然后4在P1,5在P2,6在P3,以此类推? 2)如果#1为真,当消费者订阅时,它将订阅所有分区,以便获得所

  • Kafka只提供一个分区内消息的总顺序,而不提供主题中不同分区之间的消息的总顺序。每分区排序与按键对数据进行分区的能力相结合,对于大多数应用程序来说已经足够了。但是,如果您需要消息的总顺序,这可以通过只有一个分区的主题来实现,尽管这意味着每个使用者组只有一个使用者进程。 下面是我的问题: > 这是否意味着如果我希望有多个消费者(来自同一组)阅读一个主题,我需要有多个分区? 分区是如何编号的?从0开

  • 我使用spring-kafka注释@kafkalistener来指定我的侦听器方法。 我使用单个分区的单个主题。消息永远不会超过一秒或两秒,所以单个线程是可以接受的。spring-kafka文档称@Kafkalistener默认使用ConcurrentMessageListenerContainer。使用SetConcurrency控制并发的正确方法是吗?

  • 我有一个带有2个分区的源主题,我正在用同一个应用程序启动2个kafka streams应用程序。id,但不同的接收器主题。 1) 这两个应用程序实例是否会从不同的分区接收数据? 2)如果其中一个应用程序被杀死,另一个实例会自动从两个实例中消耗吗? 3) 我如何证明上述情况?