美文网首页
storm问题总结

storm问题总结

作者: wangliang938 | 来源:发表于2017-02-14 07:40 被阅读443次
    1. 在Storm UI上,有大量Failed数据,且往往是一旦开始有Fail数据,则Fail数据越积越多
    2. 整体事件端到端延迟很大

    分析:
    当spout接收到大量数据,而后端bolt处理较慢,如果spout发送的事件在超时时间(topology.message.timeout.secs 默认为30s)内没有最终ACK闭环,即在超时时间内最初的原始消息没有最终获得处理完成的ACK响应时,该事件成为Fail事件。当输入数据量大,且后端处理较为耗时,而无法在设定时间内处理完且ACK时,则会造成超时FAIL。
    解决方案:
    加大topology.message.timeout.secs默认超时时间,如60s2、 观察系统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开始,不断增加,最终达到系统稳定且吞吐量合适。

    相关文章

      网友评论

          本文标题:storm问题总结

          本文链接:https://www.haomeiwen.com/subject/fxwovttx.html