加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Kafka不会消耗所有生成的数据

发布时间:2020-12-15 02:19:29 所属栏目:Java 来源:网络整理
导读:我在具有8个内核和32GB RAM的VM上安装了一个kafka实例. 我从10台不同的机器写入(生产)并从一台机器上消费,所有机器都在同一个网络中. 我生成的数据大小约为35MBit / s. 出于某种原因,大多数时候我不能消耗超过~10MBit / s(在有限的时间内我设法消耗所有产生
我在具有8个内核和32GB RAM的VM上安装了一个kafka实例.

我从10台不同的机器写入(生产)并从一台机器上消费,所有机器都在同一个网络中.

我生成的数据大小约为35MBit / s.

出于某种原因,大多数时候我不能消耗超过~10MBit / s(在有限的时间内我设法消耗所有产生的数据),即使kafka和消费者服务器大多是空闲的(因此我不要认为这是一个保留问题).

卡夫卡可以忽略一些产生的数据吗?

一些可能对分析有用的参数值:

num.network.threads=32
num.io.threads=16
message.max.bytes=2147483647
num.partitions=10
log.retention.ms=120000 (2 minutes)

解决方法

您的保留时间太短了.如果您的消费者比10个生产者中的任何一个落后2分钟,则消息将丢失.尝试24小时或至少尽可能多的磁盘空间来填充.默认保留期为7天.如果成功进入主题,那么将消息保留更长时间也可以帮助您进行调试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读