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天.如果成功进入主题,那么将消息保留更长时间也可以帮助您进行调试.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |