风暴拓扑/ KafkaSpout默默地失败了元组,并在一段时间后变得缓慢

时间:2016-10-05 11:59:51

标签: apache-kafka apache-storm

我使用Storm拓扑(使用Storm 0.10.0)和默认的KafkaSpout来获取来自Kafka主题的JSON数据并对其进行处理。

有时拓扑在每秒500k消息中达到峰值而没有任何问题,但通常每秒保持~10k消息。

通常我没有遇到任何性能问题,但是经过一段时间后,Spout会显示一些失败的元组,并且拓扑输出会变慢。

我已经仔细检查过所有到达螺栓的元组都会被激活,并且日志上没有任何错误。

知道为什么会这样吗?我能提供的任何额外信息有助于调试此问题吗?

1 个答案:

答案 0 :(得分:0)

将Storm应用程序升级到最新版本,Kafka / Storm中添加了许多功能。

  1. 为spout&配置最佳线程/执行程序螺栓。
  2. 检查螺栓/喷口的延迟,如果超过1秒,则会出现一些瓶颈(型材喷口/螺栓代码)。
  3. Kafka主题可能包含超过1亿封邮件(减少保留期限)。
  4. 检查风暴工作者内存(最佳2GB到4GB)。
  5. 实现topology.max.spout.pending属性,起始值为1000&相应地增加。