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)。
我曾经碰到的问题大致如下: 提交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)。
相关文章推荐
- Linux-FLASH驱动设计二
- windows安装docker
- docker使用总结
- 深入浅出AOP(二)--IOC容器
- 虚拟机Linux----Ubuntu1204----退格键方向键无法使用
- Linux中逐行读取文件的方法
- [CF 338E] Optimize! · 线段树
- 在win7 + vs express for desktop中安装stlport和boost库
- Linux-FLASH驱动设计一
- mic openmp 求dijkstra
- 利用Openssl生成证书
- 关于CRT连接虚拟机Linux系统的攻略
- CentOS Linux服务器安全设置
- linux下修改双系统默认启动级别
- OpenGL - obj文件的导入
- ecshop商品批量上传之EC助理1.28支持ECshop2.7.3方法
- Linux流量监控工具 - iftop (最全面的iftop教程)
- 跟我一起hadoop(1)-hadoop2.6安装与使用
- opencv 数字图像处理-图像错切
- Linux 手动编译PHP 5.6