Storm UI界面上出现的Spout Failed 问题解决方案

来源:互联网 发布:朴槿惠犯了什么罪 知乎 编辑:程序博客网 时间:2024/06/17 10:41

提问:

1. 在Storm UI上,有大量Failed数据,且往往是一旦开始有Fail数据,则Fail数据越积越多
2. 整体事件端到端延迟很大

分析:

当spout接收到大量数据,而后端bolt处理较慢,如果spout发送的事件在超时时间(topology.message.timeout.secs 默认为30s)内没有最终ACK闭环,即在超时时间内最初的原始消息没有最终获得处理完成的ACK响应时,该事件成为Fail事件。当输入数据量大,且后端处理较为耗时,而无法在设定时间内处理完且ACK时,则会造成超时FAIL。

解决方案:

1、 加大topology.message.timeout.secs默认超时时间,如60s
2、 观察系统ACK线程处理性能,如UI界面中的:
如果该处理性能较低可考虑增加ACK线程数:topology.acker.executors(默认为null,即与该任务的work数一致),可设置为worker的倍数
3、 减少topology.max.spout.pending(默认为null,即不做限制),该配置项可以对spout task接收速度进行流控,例如可以从设置topology.max.spout.pending = 1024开始,即表示当spout发送的数据已经将该pending队列占满,则在该队列满未有空间时,spout的nextTuple方法不被调用,即进行了流控

可能的影响:

topology.max.spout.pending设置后,会降低整个系统的吞吐量,可以先从1024开始,不断增加,最终达到系统稳定且吞吐量合适。


这个问题比较麻烦!定位了很久(至少花了我10天左右的时间)才解决此问题!

出现此问题的原因是:
spout在默认超时时间(30s)内发射出去的Tuple没有被bolt处理就会出现spout failed。
尝试解决问题的过程:
1、调整bolt的worker、executor、task数目,希望能够解决问题。结果失败!
2、调整修改默认超时时间(topology.message.timeout.secs)为60s,修改spout的缓存队列(topology.max.spout.pending)由于我的数据量不大,每天处理数据也就最多500M,把它设置成200,由于我设置spout的并发度为5,所以可以暂存1000条tuple(spout数 乘以 topology.max.spout.pending)。结果过了几个小时还是出现Spout Failed!
3、好吧,我再观察storm ui界面,发现有两个bolt延时较大(超过1s),网上看了许多资料,最终判定是bolt处理延时过高,处理速度缓慢,导致spout发射的Tuple堆积过多,很多Tuple在超时时间内没有被bolt处理,因此发生Spout Failed的惨剧!
解决办法:
1)找出bolt哪里耗时最多!在代码里面一步一步打印出时间,比如对数据进行过滤的代码处理用了多长时间,入库用了多长时间...
2)后来我发现,数据插入到hbase里面耗时最大!!!几乎达到1s,而且我是一条一条数据进行插入的!
怎么办呢?想要减小bolt延时必然需要解决hbase插入数据耗时较大的问题,于是我想到对数据进行批量插入,比如说来了100条Tuple才执行插入操作。因此这100条Tuple需要暂时存放在一个地方,我想到的是用arraylist暂时存放数据。最后运行一下修改后的代码,发现问题应该被解决了。
4、未用批量插入和批量插入数据后的区别
1)未用批量插入

2)使用批量插入后



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 在微信上买东西被骗了怎么办 新浪微博自动关注人怎么办 搜淘宝找不到关键词和店铺怎么办 小超市开在一起竞争太大怎么办 淘宝店铺被投诉盗图怎么办 充电宝ic坏了怎么办 淘宝店宝贝权重下降怎么办 淘宝卖家评分低怎么办 淘宝买东西客服不理人怎么办 支付宝本次交易嫌疑违规怎么办 支付宝一年的交易总额怎么办 交易关闭钱扣了怎么办 交易猫账号绑定支付宝打不开怎么办 拼多多涉假处罚怎么办 淘宝店铺重复铺货扣6分怎么办 帆布鞋子买大了怎么办 开淘宝店没销量怎么办 开淘宝店没有销量怎么办 淘宝买东西支付密码错了怎么办 淘宝登入密码忘记了怎么办 逛街时手机没电了怎么办 逛街手机没有电了怎么办 卖家拒收退回来怎么办 群英会奖池钱不够买超了怎么办 三星s8卡顿严重怎么办 三星s8变卡了怎么办 新开店铺没有人怎么办 电视显示没有usb设备怎么办 华为平板电脑触摸屏没反应怎么办 平板电脑液晶显示屏坏了怎么办 6p的home键失灵怎么办 读书郎屏幕坏了怎么办 苹果平板激活锁忘了怎么办 平板电脑充电插口坏了怎么办? 电视频幕花了怎么办 苹果笔记本电脑硬盘坏了怎么办 mac屏幕压坏了怎么办 新电脑连不上网怎么办 新买电脑后悔了怎么办 装显卡后玩游戏黑屏怎么办 顺丰寄主机坏了怎么办