【问题标题】:Storm Topology / KafkaSpout failing tuples silently and getting slow after a whileStorm Topology / KafkaSpout 默默地失败元组并在一段时间后变慢
【发布时间】:2018-04-24 14:40:19
【问题描述】:

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

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

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

我已经仔细检查了所有到达 Bolts 的元组都得到了确认,并且日志上没有显示任何错误。

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

【问题讨论】:

  • 你找到解决这个问题的方法了吗?
  • 你找到解决这个问题的方法了吗?
  • 不能说我做到了。我使用的是较新版本的 KafkaSpout,它不使用 Zookeeper。我的解决方案是回到 Zookeeper,一切正常。希望较新的版本不会出现问题,但我还没有测试过。

标签: apache-kafka apache-storm


【解决方案1】:

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

  1. 为 spout 和 bolts 配置最佳线程/执行器。
  2. 检查螺栓/喷嘴的延迟,如果超过 1 秒,则存在瓶颈(配置文件喷嘴/螺栓代码)。
  3. Kafka 主题可能包含超过 1 亿条消息(减少保留期)。
  4. 检查 Storm 工作器内存(最佳 2GB 到 4GB)。
  5. 实现 topology.max.spout.pending 属性,起始值为 1000 并相应增加。

【讨论】:

    猜你喜欢
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多