kafka消费/发送消息,消息过大报错解决whose size is larger than the fetch size 1048576

目录

一、kafka消费报错原因

  • 问题原因一:个是kafka本身的配置没有调整到上限

  • 问题原因二:就是我们自己写python消费kafka代码的时候没有参数配置没有限制

  • RecordTooLargeError: ("There are some messages at [Partition=Offset]: {TopicPartition(topic='psadad', partition=1): 75} whose size is larger than the fetch size 1048576 and hence cannot be ever returned. Increase the fetch size, or decrease the maximum message size the broker will allow.", {TopicPartition(topic='psadad', partition=1): 75})

二、解决方案

1、原因一的解决方案
  • 在kafka中,默认的消息体大小为1M。在实际的业务场景,有时候需要修改kafka消息体大小,修改kafka消息体大小需要注意下面的几个方面
    • message.max.bytes (broker配置)
    • replica.fetch.max.bytes (partition配置)
    • max.message.bytes (topic配置)
  • 在生产者端配置max.request.size,这是单个消息最大字节数,根据实际调整,max.request.size 必须小于 message.max.bytes 以及消费者的 max.partition.fetch.bytes。这样消息就能不断发送
  • kafka config服务端配置文件server.properties, server.properties中加上的message.max.bytes配置
2、原因二的解决方案
  • 如图添加参数max_partition_fetch_bytes=1048576 * 10

相关推荐
漠效10 小时前
随机代理‌IP访问脚本
开发语言·python
SilentSamsara10 小时前
元类与 __init_subclass__:类是如何被“创建“出来的
开发语言·python·青少年编程
隔壁大炮11 小时前
MNE-Python 第6天学习笔记:分段(Epoching)与基线校正
python·eeg·mne·脑电数据处理
SilentSamsara11 小时前
concurrent.futures 实战:进程池与线程池的统一抽象
运维·开发语言·python·青少年编程
水木流年追梦11 小时前
大模型入门-大模型的推理策略
开发语言·python·算法·正则表达式·prompt
Cthy_hy12 小时前
Python 算法竞赛:数学核心知识点全总结
python·算法
独隅12 小时前
DeepSpeed ZeRO-3在TensorFlow中缺失的底层支持机制与优化全面指南
人工智能·python·tensorflow
松☆12 小时前
昇腾NPU上的张量操作库,和PyTorch的张量操作有啥不一样?
人工智能·pytorch·python
PILIPALAPENG12 小时前
第4周 Day 4:Agent 工作流模式——编排复杂流程
前端·人工智能·python
EnCi Zheng13 小时前
09a-斯坦福 CS336 作业一:BPE分词器
开发语言·python·算法