美文网首页
Kafka机器重启导致streamingJob 堆积问题排查

Kafka机器重启导致streamingJob 堆积问题排查

作者: pcqlegend | 来源:发表于2018-07-27 21:23 被阅读0次

现象描述:
运维通告有一台kafka机器磁盘满了,运维正在进行重启。然后我们的实时的StreamingJob出现处理时间变长,出现大量的batch堆积。之前只需要2s的batch,现在需要2.2分多钟才能完成。
排查步骤:
1、查看job的stage,发现是在写入kafka处的代码执行时间长
2、查看任务执行情况,并不是所有的任务都长,而是偶尔几个。
3、确定肯定和kafka写入有关系
于是 经过排查,kafka在创建producer的时候,需要获取meta信息,然后创建对应的连接。
并且在获取meta的时候是按照你配置的brokers的地址列表挨个查询,一旦获取到就返回,获取不到就一直等待超时。每次获取的超时时间长度是tcp的超时时间,系统默认的127s。总共尝试6次。以下截图都是我同事找到,这次问题的主要排查也是他


image.png
image.png

所以在等待127s之后,尝试第二个broker,这时候获取成功
,成功创建producer,消费正常。
修复办法:
一 、streamingjob container启动后会一直存在,也就是jvm不会清理,所以可以创建一个静态的producer,这样可以保证同一个应用的不同的batch 的task,可以公用一个producer,而不需要每个batch都去创建一个producer。(推荐)
二、修改获取meta的等待时间 默认是60s


image.png
三、创建producer的时候brokers的地址列表可以打乱

相关文章

  • Kafka机器重启导致streamingJob 堆积问题排查

    现象描述:运维通告有一台kafka机器磁盘满了,运维正在进行重启。然后我们的实时的StreamingJob出现处理...

  • kafka 消息堆积解决

    一 :背景 线上kafka消费端因日志异常的解决导致消息堆积。 二 : 日志异常解决导致消息堆积 线上kafka消...

  • 端口被占用解决方案

    一、问题描述 工作中偶尔会遇到 重启程序 端口被占用,导致重启失败的问题 二、排查问题 经过查询,发现是之前开启的...

  • 消息堆积问题排查

    背景 我们有一个类似于消息中间件的产品,会将数据push给下游业务系统消费。业务系统可以通过我们的sdk获取消息,...

  • Linux笔记

    参考文档:linux性能瓶颈排查Shell编程入门 1、重启机器: rebootshutdown -r nowsh...

  • kafka消息有效期设置

    问题描述: 昨天晚上,先收到kafka主机磁盘告警,然后收到kafka端口告警,三台kafka同时挂掉。 排查: ...

  • mongo索引问题

    现象描述:系统重新部署后无法提供服务。问题分析:经过排查后,发现系统重启后多次调用创建mongo索引的API,导致...

  • 一次 Druid 连接池泄露引发的血案

    最近某个应用程序老是卡,需要重启才能解决问题,导致被各种投诉,排查问题是Druid 连接池泄露引发的血案。。 异常...

  • 一次 Druid 连接池泄露引发的血案

    最近某个应用程序老是卡,需要重启才能解决问题,导致被各种投诉,排查问题是Druid 连接池泄露引发的血案。。 异常...

  • Kafka线上消息堆积问题

    一、已知 二、猜测 首先定位到代码如下: 1.首先排查是否代码有更新看git提交记录,发现代码最近一次更新是在20...

网友评论

      本文标题:Kafka机器重启导致streamingJob 堆积问题排查

      本文链接:https://www.haomeiwen.com/subject/zdxnmftx.html