您的位置:首页 > 运维架构

Storm开发过程中遇到的Topology “hang"问题

2015-06-28 22:45 253 查看
题目中之所以用双引号标注”hang", 是因为自己碰到的问题并不是Topology程序真的hang住了,而是有其他原因。

我曾经碰到的问题大致如下: 提交Topology之后,刚开始的几小时是正常运行的,但系统处理的数据量之后会越来越少,直至变为0,就像Topology hang住一样。

总结下自己在分析解决该问题时的思路:

由于特殊原因,刚开始没条件部署Storm UI,所以走了一些弯路。

1> 数据量变为0,首先想到的是后台数据采集和缓存平台是不是有问题,包括CPU、内存和网络流量资源是否有瓶颈。

2> 若1没问题,就看Storm计算资源CPU及内存是否有瓶颈。

3> 排除1和2之后,我通过添加日志分析Topology内部逻辑,确保功能没有bug

4> 通过Storm UI, 最终发现Spout在若干小时后不能继续读取Kafka中的数据,才导致问题出现。进一步分析,是有些消息size过大,超过了storm kafka spout插件中的默认限制,才导致Spout渐渐停止工作(因为我有并发的多个Spout)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: