kafka send data 超时问题 报错:xx ms has passed since last append

Kafka消息发送致接口超时原因分析与解决 借助apm、gc监控等定位到发券接口超时由kafka发送超时引起,经过分析后引出两个疑问:A、apm为什么未能精准采集kafka发送耗时,此疑问通过skywalking中插件源码得以解释;B、kafka发送超时的原因。通过梳理kafka client端发送流程中可能存在的阻塞点,服务端性能会影响客户端。在服务端不可控的情况,因此提出要将ack设置成0,同时引入额外的重试机制保证数据的完整性。 阅读详情
AI摘要

文章探讨了在大数据工作中遇到的Kafka发送数据超时问题,分析了可能的原因,包括服务端压力过大、客户端发送瓶颈、参数配置不当等,并提供了相应的解决方案,如增加服务端Partition、调整客户端request.timeout.ms、优化batch.size和linger.ms等参数,以及处理客户端和Broker机器的压力问题。

转行到大数据将近一年了,在工作中经常遇到 kafka send data 超时的报错,今天给各位道友浅谈一下这类问题的经验:

报错日志:
xx ms has passed since last append / xx ms has passed since batch creation plus linger time / ms has passed since last attempt plus backoff time

此异常错误即RecordBatch#maybeExpire方法抛出,意思是:在设置的timeout时间内send线程没有将client缓存内的请求发送出去。

原因通常来说为以下几种:

  1. kafka服务端压力过大导致处理请求慢,查看kafka服务端压力是否过大;
  2. 客户端在短时间发送大量数据导致发送瓶颈;
  3. 一些参数配置和应用本身数据流量模型不匹配;
  4. 平台任务或者客户端本身压力过大(cpu/mem/full gc/网络等等);
  5. broker机器故障;

怎么处理

  1. 服务端压力过大可以增加服务端partition数量
  2. 客户端问题,由于其在短时间可能读取发送大量数据导致客户端发送瓶颈,即生成数据的速度大于客户端发送的速度。 a. 判断发送的数据量,根据能力减少数据量均匀发送; b. 判断发送的数据量,增加任务节点或者并发度分摊数据量发送; c. 客户端设置request.timeout.ms为60*1000,或者更大。
  3. 其他常见的参数调整,参数调优更多和应用自身的一些流量模型相关。 a. 调整batch.size或者linger.ms,通常调大比如到几兆,减少发送qps。对于qps过高的可以进行调整。(核心思想,攒批,提高性能)
  4. 客户端压力过大,cpu/mem/gc/net等导致发送超时。调整资源配置等
  5. broker机器故障,切换机器
【Kafka】Failed to send data to Kafka: Expiring 30 record(s) for xxx 732453 ms has passed since last 本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载。 阅读详情

相关推荐

Kafka连接超时问题及解决方法

总结起来,连接超时是使用Kafka进行远程连接时常见的问题。然而,在使用Kafka进行远程连接时,有时会遇到连接超时的问题。更新Kafka版本:有时连接超时问题可能是由于Kafka本身的bug导致的。在这种情况下,可以尝试升级Kafka的版本,以修复已知的问题。在Kafka的配置文件中,有几个与连接超时相关的参数需要注意。网络问题:连接超时可能是由于网络延迟或不稳定导致的。减少重试时间间隔:Kafka客户端在连接超时后会进行重试,可以通过减少重试时间间隔来加快连接恢复。参数的值,以增加连接超时的时间。

YazIdris的博客 3530

kafka record(s) for xxxxxx: 30043 ms has passed since last append异常

在最近使用kafka过程中,有一部分的客户使用平台时会偶发出现以下错误 刚开始网上找到的答案是对应主题所在分区对应的宿主机处理出现异常导致,故而导致该异常,所以出问题时取查询时并没有发现kafka server有其他问题,后通过其他方式查询出现该问题的原因; 一个partition只会有队头的batch被发送,sender线程不会对发送中partition的其余batch检查过期,指向同一个broker的多个partition的batch能够合并成一个request发送。其中前两点是由Accumul

游荡边缘的博客 6293

Failed to send data to Kafka: Expiring 89 record(s) ...30005 ms has passed since last append

2021-06-08 02:05:37 java.lang.Exception: Failed to send data to Kafka: Expiring 89 record(s) for XXXXXXXXXXXXXX: 30005 ms has passed since last append at org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducerBase.checkErroneous(FlinkKafkaProducerBa

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发 1万+

Kafka消息发送失败的常见原因及解决方案

异步确认:生产者在发送消息后不等待Kafka服务器的确认响应,而是立刻发送下一条消息。Kafka生产者可以设置重试次数和重试间隔时间,当消息发送失败时,Kafka生产者将自动进行重试。- 同步确认:生产者在发送消息后,等待Kafka服务器的确认响应,直到收到确认响应之后才继续发送下一条消息。这种方式可以保证消息的可靠性,但会影响消息发送的效率。如果Kafka生产者将消息发送到一个不可用的分区副本,那么消息发送就会失败。Kafka默认有消息大小的限制,如果消息大小超过了限制,那么消息发送就会失败。

qq_44912620的博客 5803

【信息科学与工程学】【数据科学】 第四十四篇 数据湖 系列二 函数库01

2. 近似最近邻搜索(ANN): 通过HNSW等图索引模型加速,模型定义为构建一个层次化导航小世界图。依赖于消息队列(Kafka/Pulsar)、分布式文件系统(HDFS/S3)的客户端及连接库。依赖专门的向量检索库(如FAISS, Milvus)。管控目标: 召回率(Recall@K) > 95%,查询延迟 < 100ms。管控目标: < 1% (核心业务字段) 或 < 5% (一般字段)依赖数据处理框架(如Spark, Pandas)的核心统计函数。,通过牺牲精确性(ANN)来换取搜索速度的大幅提升。

weixin_49199313的博客 346

Drupal远程代码执行漏洞(CVE-2018-7600)实战复现:从检测到写入WebShell的全过程

本文详细解析了Drupal远程代码执行漏洞(CVE-2018-7600)的实战复现过程,从环境搭建、漏洞检测到WebShell写入的全流程。该高危漏洞影响Drupal 6.x至8.x版本,允许攻击者未经授权执行任意代码。文章提供了多种POC构造方法和高级利用技巧,帮助安全研究人员深入理解漏洞原理并掌握验证技术。

weixin_29322553的博客 275

Kafka压测— 搞垮kafka的方法

作者:石文 时间:2018-10-29 分布式系统故障场景梳理方法: 场景梳理逻辑关系: 单点硬件故障→单点进程故障类型→集群影响→集群故障场景 第三方依赖故障→集群依赖关系→集群影响→集群故障场景 业务场景→集群负载/错误影响→集群故障场景 Kafka故障场景 Kafka故障的定义是什么? 故障场景 单点硬件故障→集群故障场景 第三方依赖故障→集群故障场景 业务场景...

zhinengyunwei的博客 456

Unity游戏开发实战:手把手教你用C#实现一个简单的反向运动学(IK)控制器

本文详细介绍了在Unity游戏开发中如何使用C#实现一个简单的反向运动学(IK)控制器。通过建立骨骼层级结构、实现CCD算法和角度限制,开发者可以轻松创建自然的角色动画效果。文章还提供了可视化调试工具和性能优化方案,帮助提升开发效率。

weixin_42523711的博客 243

Kafka问题

has passed since last append问题描述排查过程 问题描述 当发送多条消息到kafka的时候发现数据丢失,开始排查问题。 排查过程 首先读取文件之后发送消息到kafka。发的同时发现kafka抛出has passed since last append的异常。发现出现这个问题的原因是kafka producer的一个配置项request.timeout.ms导致的。查看pr...

weixin_43840450的博客 2542

角谱迭代与傅里叶变换迭代算法(GS)的原理及其实例演示分析

角谱迭代与傅里叶变换迭代算法(GS)的原理及其实例演示分析 目前,迭代法和强度传输方程(TIE)法是两类典型的非干涉相位检索技术(Phase Retrieval,被称为相位恢复、相位检索、相位反演法、相位复原等)。迭代法中的经典算法是Gerchberg-Saxton(GS),随后,出现了包括错误减少算法(ER)、混合输入输出法(HIO)、梯度搜索算法、角谱迭代算法等改进算法。...

简单光学 2万+

【科研学习】Demo3D2015安装包以及图文安装步骤

安装包 点击下图的.exe文件,安装 不需要解压,打开注册机 如下图: 点击上图的.exe文件,出现下图 先点击 patch 打开安装目录下的Demo3D.licensing.dll文件,然后点击Generate,生成dvt-license文件,保存即可 打开安装完成的Demo3D 2015(64-bit),一般破解没完成的,会出现一个request a license 的问题,点击find license 的那一行 点击后找到自己Generate,生成dvt

KaelCui的博客 1万+

Git 基础教程 - 分支操作、合并分支、解决冲突

作者简介:大家好,我是哥,前中兴通讯、美团架构师,现某互联网公司联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!

smart_an的专栏 1415

WhatsApp注册流程逆向分析:从协议解析到风控对抗实战

移动应用安全分析的核心在于理解客户端与服务端的交互协议与验证机制。通过逆向工程,可以深入剖析应用的数据加密、传输与身份验证原理,这对于构建安全模型、进行自动化测试和风控策略研究具有重要技术价值。在即时通讯、金融支付等高安全要求场景中,掌握应用注册流程的底层实现是评估其安全性的关键。本文聚焦于使用动态分析工具如Frida进行Hook和流量抓包,结合设备指纹识别与模拟器检测技术,详细解析了大型应用的注册风控体系,为安全研究人员和开发者提供了从环境搭建到实战对抗的完整方法。

weixin_33935636的博客 315

Spring Kafka中通过参数配置解决超时问题

背景这是我们团队负责的一个不太核心的服务。之前与外部交互时应外部要求由普通kafka集群改成加密kafka集群。我们是数据生产端。改的过程中并跑上线,60%的请求耗时增加了2倍,也还是在百...

xiexiaojing的博客 3736

【CC精品教程】iTwin capture倾斜摄影建模完整操作流程

【CC精品教程】iTwin capture倾斜摄影建模完整操作流程。包括:无人机航测外业作业流程(像控点布设、航线规划、仿地飞行、航拍)和内业数据处理软件(Pix4d、CC、EPS、PhotoScan、Globalmapper)像控点权重调配、空三加密、DOM、DSM、DEM,DLG生成、等高线生成、高程点提取,点云分类过滤分割、点云生成DEM、三维模型生成等。

智慧空间实验室 3955

【推荐100个unity插件】unity实现交互式火焰 —— Ignis

Ignis是一款Unity互动式消防系统插件,可轻松将物体转换为可燃物。支持固体、植被、蒙皮网格和地形树木等多种对象类型,提供火焰蔓延、熄灭等效果。安装需通过Unity Package Manager添加Visual Effects Graph,并按照指引转换目标物体材质。使用盒型碰撞体或网格计算燃烧区域,可自定义火焰参数和视觉效果。内置多种转换选项,如Flammable Vegetation、Flammable Skinned Mesh等,适用于不同场景需求。注意使用前需备份材质和地形数据,并提供性能优化

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2235

生产故障|Kafka消息发送延迟达到几十秒的罪魁祸首竟然是...

点击上方“服务端思维”,选择“设为星标”回复”669“获取独家整理的精选资料集回复”加群“加入全国服务端高端社群「后端圈」作者 | 丁威出品| 中间件兴趣圈1、故障现象笔者在双十一期间负...

梁桂钊的博客 2511

RK3588 部署 YOLO26 目标检测:从环境搭建到 NPU 推理

采集图像(500+ 张,覆盖不同光照和角度)→ 筛选(删除模糊、无目标的图像)→ LabelImg 标注(选择 YOLO 格式)→ 划分 train:val:test = 7:2:1labelImg├── train/├── val/nc: 3类别顺序必须与 LabelImg 标注时一致。YOLO26 在 RK3588 上的部署流程是 PC 端训练 → ONNX 导出(opset=11)→ RKNN 转换(INT8 量化)→ 板端推理。

LXY_LOVE36的博客 417

Kafka常见问题一:访问超时

Expiring 1 record(s) for coresys_api_output_bindinfo_category-4: 9721 ms has passed since batch creation plus linger time

Irene的博客 8543

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【Kafka超时问题(已解决),kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection w】

Kafka超时问题(已解决), Timed out waiting for connection while in state: CONNECTING

weixin_44773906的博客 6643

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

kafka生产者发送

【代码】kafka生产者发送。

datalover的专栏 270

kafka 爬坑

最新项目中使用kafka消息中间件遇到的问题,在项目上线的时候跑了一段时间后出现kafka 客户端发送异常。 异常信息:41261 mshas passed since last append和30078 ms has passed since batch creation plus linger time; 网上查了一大堆的解决方案后未能达到解决效果。后来尝试着调整一下客户端的配置参数。b...

YaYicho的博客 416

Kafka常见错误及解决办法

1、报错信息: org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets out of range with no configured reset policy for partitions: {qukan_log_v3-198=2289560518} 报错原因:当消费者消费offset大于或小于当前kafka集...

yiweiyi329的博客 4万+

(十六)处理超时批次

文章目录前言 前言 sender的run /** * 步骤六: * 对超时的批次是如何处理的? * */ List<RecordBatch> expiredBatches = this.accumulator.abortExpiredBatches(this.requestTimeout, now); // update sensors for (RecordBat

weixin_37850264的博客 582

Kafka集群分区副本设置为1,当分区所在broker宕掉引发的该分区不可用的问题

问题表象:业务进程中的kafka生产者线程报错: put suc offset:-1 partition:1 topic: test_topic org.apache.kafka.common.errors.TimeoutException:Expiring 13 record(s) for test_topic-1:3000 ms has passed since last append 于是查看kafka日志发现有如下告警: [org.springframework.kafka.KafkaLi

Turn X7 2149

kafka确保数据不丢失

一、关于acks、retries、replication.factor、min.insync.replicas Producer在发布消息到某个Partition时,先通过ZooKeeper找到该Partition的Leader,然后无论该Topic的Replication Factor为多少(也即该Partition有多少个Replica),Producer只将该消息发送到该Partiti...

longlovefilm的博客 7317
上一篇: docker安装
萌新QAQ~
博客等级 码龄6年 10粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值