2018.5.12 storm数据源kafka堆积

问题现象:

    storm代码依赖4个源数据topic,2018.5.12上午8点左右开始收到告警短信,源头的4个topic数据严重堆积。

排查:

  1、查看stormUI,

storm拓扑结构如下:

看现象:

 a、storm代码2月份上线,已经平稳运行3个月,没有任何代码改动;

 b、四个spout发出消息的complete latency 延时较高,高的可达30s,failed数量较多;

 c、Topology Visualization中最后一个bolt:ContentOutPutBolt变为红色。

定位步骤:

a、bolt中有脏数据忘记ACK,导致该类数据重发,经检查不存在这个现象,排除这个原因;

b、对最后一个bolt的关键步骤打日志,记录每个步骤的时间,发现在ACK前最后一步写 kafka耗时不稳定,高的可达40s,将问题锁定在写kafka这里;

c、查看storm网卡流量,发现网卡发送数据流量也是从8点开始变高,一直居高不下;

d、联系网络,查看storm与kafka之间的网路是否有延时或丢包,结果情况还好,实际是向kafka域名发送数据,但测的是IP,不知道会不会在域名解析这一层有问题!

e、为了先解决问题,将源头堆积的数据先消费掉,改了两个地方:1、将ACK放到写KAFKA之前;2、修改写KAFKA的消息长度,改为一半。发现堆积的数据慢慢消费掉,网卡发送流量也趋于平稳,之后将代码回滚,系统依然正常运行,没有再出现堆积,问题解决!

可是问题来了!到底什么原因导致网卡发送流量变高的呢?查看了数据源头的topic并没有突增的情况,难道是查看的方式有问题?费解!

猜你喜欢

转载自www.cnblogs.com/yangdi/p/9035541.html