当前位置: 首页 > 知识库问答 >
问题:

Storm Topology/KafkaSpout以静默方式失败元组,并在一段时间后变慢

桂德义
2023-03-14

我使用一个带有默认KafkaSpout的Storm拓扑(带有Storm 0.10.0),从一个Kafka主题获取JSON数据并对其进行处理。

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

共有1个答案

包嘉懿
2023-03-14

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

  1. 为喷口和螺栓配置最佳Thread/执行器。
  2. 检查螺栓/喷口的延迟,如果超过1秒,则存在一些瓶颈(配置喷口/螺栓代码)。
  3. Kafka主题可能包含超过1亿条消息(缩短保留期)。
  4. 检查Storm worker内存(最佳2GB到4GB)。
  5. 将topology.max.spout.pending属性的起始值设为1000,并相应增加。
 类似资料:
  • 我使用的是Storm-kafka-1.1.1-plus和storm 1.1.1。并使用BaseRichBolt、一个KafkaSpout和两个bolts bolt-A、Bolt-B进行配置。元组被锚定在bolt-A中,一旦Bolt-B确认,它将被视为成功处理的元组,并将被提交。但是,问题是由于某种原因,一些失败的消息在KafKaspout中被复制了。 例如: KafkaSpout在处理它时发出了1

  • 然而,我在激活时不断得到错误,然后监视拓扑。下面是我实现的Storm拓扑的源代码: 但是,在执行时,我不断得到的错误消息如下: 然而,通过检查工作者的日志(worker.log文件),我得出结论认为KafkaSpout在open()方法上失败。

  • 我有以下情况。 有一个 CQL 表 (卡桑德拉 2.0.12) 并使用datastax-java驱动程序(cassandra-driver-core 2.1.1)使用它 当集群包含3个节点时,数据更新,如 在大约一半的情况下无法静默工作(我在Cassandra日志中没有看到错误,跟踪中没有任何可疑之处,没有失败答案或异常,我可以看到它没有通过SELECT成功)。如果来自一个节点的集群,它总是有效的

  • 我们的集群中有带有 Ambari GUI 的 Hadoop 集群版本 2.6.4,我们有 3 台 Kafka 机器,它们是独立的机器,而 3 台 Zookeper 服务器安装在其他机器上 - master01/02/03 其中一台Kafka机器出现了一个奇怪的问题,而其他Kafka设备没有这个问题 问题是,当我们在几分钟后启动Kafka经纪人时,它会崩溃 以下是日志: 出自Kafka.呃 从日志的

  • Quarkus 1.8.3。最终的 直接调用访问PanacherRepository的方法可以按预期工作,但是当通过EventBus调用同一方法时,调用到达该方法并执行每一行,直到它到达任何存储库调用,然后在没有任何发生的指示的情况下无声地失败/退出。 根据日志,直接调用在Quarkus主线程中执行,事件总线调用在vert中执行。x-eventloop-thread-2。 还尝试了以下步骤的组合,

  • 问题内容: 当返回的数据不是有效的JSON时,jQuery 静默失败似乎非常不便。为什么用无声失败来实现呢?用更好的故障行为(例如,引发异常或其他方法)执行getJSON的最简单方法是什么? 问题答案: 您可以使用 如果要查看错误原因,请使用完整版本 如果您的JSON格式不正确,则会看到类似 如果网址错误,您会看到类似 如果您试图从另一个域获取JSON,则违反Same-origin策略,则此方法将