燕子不会飞 2023-10-26 14:53 采纳率: 0%
浏览 19
已结题

spring-kafka引起消费端oom的问题

使用 spring-kafka 集成项目时出现的 oom 问题,kafka 版本是 2.5.0,服务启动时监听了指定的 Topic 消息,此时当前 Topic 下没有消息,但是 kafka 上堆积了大量消息(非当前服务监听的 Topic),导致消费服务启动异常,出现 oom 错误
线上环境,无法完整复现,本地服务启动时,发现 KafkaListenerEndpointContainer 线程的内存一直在增长,求指点迷津!

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-27 00:16
    关注

    【以下回答由 GPT 生成】

    我可以为您提供一些解决这个问题的思路,但由于您没有提供具体的代码或配置信息,所以我只能给出一般性的建议。请参考下面的步骤:

    步骤 1:检查 Kafka 集群 首先需要确保 Kafka 集群正常运行,并检查消息的生产者是否正常工作。可以使用 Kafka 命令行工具(kafka-console-producer)来向待监听的 Topic 发送消息,并确认消息是否成功发送到 Kafka 集群。

    步骤 2:调整 Kafka 消息传递配置 在消费者端配置文件中,可以调整以下参数来控制消费者消费消息的速率: - max.poll.records:每次拉取请求返回的最大记录数。可以将其调小以减少一次拉取的负载。 - max.poll.interval.ms:定义了消费者处理消息的最大时间间隔。可以将其调小以提高消费速率。

    步骤 3:调整消费者的并发度 如果消费者并发度设置过高,可能会导致 OOM 问题。可以通过调整消费者线程池大小(concurrency)来限制并发度。可以将其减小或者增加分区数量(partitions)。

    步骤 4:检查消费者代码 检查您的消费者代码,确保您正确处理消息并及时提交偏移量。如果消费者在处理消息时发生异常,并没有提交偏移量,那么消费者将会不断重新拉取相同的消息,从而导致内存增长和 OOM 错误。

    步骤 5:增加监控和日志 在消费者中增加适当的监控和日志,以便更好地跟踪消费者的运行状态和内存的增长情况。可以使用一些监控工具如 Micrometer 或者在代码中增加打印日志的语句。

    希望以上步骤对您有所帮助。如果问题仍然存在,请提供更多的具体信息,以便我能够提供更准确的解决方案。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月17日
  • 创建了问题 10月26日

悬赏问题

  • ¥15 TeleScan不能修改bar
  • ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因
  • ¥15 NRF24L01能发送但是不能接收
  • ¥15 想问一下这种情况怎么解决呢(关键词-file)