标签:网络 结构 运行 域名解析 之间 情况 lin storm 消息
问题现象:
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并没有突增的情况,难道是查看的方式有问题?费解!
标签:网络 结构 运行 域名解析 之间 情况 lin storm 消息
原文地址:https://www.cnblogs.com/yangdi/p/9035541.html