gpt4 book ai didi

java - Storm : eventhub spout stops receiving messages

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:02 24 4
gpt4 key购买 nike

目前我正在开发一个 Storm 拓扑来处理原始机器测量数据。但是,我在喷嘴方面遇到了无法解释的问题。

我正在 Azure HDInsight 上运行一个用 Java 编写的简单 Storm 拓扑。事件是从 eventhub 中读取的,我使用的是 microsoft eventhub spout(版本 0.9)。这个eventhub有8个分区,这意味着我还需要8个Eventhubspout实例。

但是,当我运行拓扑几个小时时,spout 会陆续停止接收消息,直到每个 spout 都安静下来。没有给出任何反馈。当我通过其他方式检查 eventhub 时,它仍然正常运行。 Storm/the spouts 根本就不再注册任何东西。

对于这里可能出现的问题,我有几个想法:

  • 首先,最近我们调整了发送到拓扑的消息。通过批处理(以及拓扑本身的解析),我们显着减少了消息量。每条消息的大小也大大增加。这可能会导致两个问题:

    1. 每个分区每 +/- 4 秒才收到一条消息,这对于 Storm 来说低得离谱。难道是因为这个自动超时崩溃了?

    2. 消息“有时”是否太大,导致 spout 崩溃/显示奇怪的行为?

  • 其次,有时可能会由于某些 Azure 错误或网络不可用而导致 eventhub 短暂脱机。这可能意味着 eventhub 在一段时间内不会发送消息。没有接收数据时,spout关闭但无法唤醒?

对于上述每个原因,eventhub spout 不应该自动恢复吗?可以采取什么措施来调试/解决这个问题?

最佳答案

我尝试搜索一些确保自动从异常中恢复 eventhub spout 的代码,但似乎没有任何代码可以执行此操作。

但是,我认为该问题可能是由 Storm 错误引起的,例如 https://issues.apache.org/jira/browse/STORM-329 .

要调试这样的问题,可以尝试引用How to debug Apache Storm in Eclipse?通过在 HDInsight Storm 的工作线程 JVM 中启用调试来在 Eclipse 上进行远程调试。

希望有帮助。谨致问候。

关于java - Storm : eventhub spout stops receiving messages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35381516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com