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

来源:互联网 发布:德卡斯特里奥算法 编辑:程序博客网 时间:2024/05/16 06:23

题目中之所以用双引号标注”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)。





0 0
原创粉丝点击