apache-storm - 让 Storm 喷口等待 bolt 准备就绪

标签 apache-storm

现在 Storm Spouts 有一个 open 方法来配置它们,而 Bolts 有一个 prepare 方法。有没有办法让所有 Spout 实例等待 Bolt 上的所有 prepare 方法完成监听?

我有一个案例,我想将一些配置信息即时传递给 bolt (因为这个配置信息一直在变化)。我在一些地方读到我们应该使用 Zookeeper 或像 redis 这样的内存中键值存储来做到这一点。不过我担心的是,如果 Bolt 还没有准备好处理来自 Spout 的数据,并且 Spout 开始发出元组,会发生什么情况?有没有办法让 Spouts 等待 Bolts 的更新,说他们准备好了?

最佳答案

我为此找到了一个更优雅的解决方案(我认为)。问题是某些 bolt 需要配置信息才能处理传入的元组。我发现了 Storm 重放元组的能力,所以现在我的 bolt 从一个 spout 监听更新,从另一个 spout 监听元组。只要我没有收到更新,我就会一直让元组失败,并让 spout 在一段可配置的时间后重播它们。

关于apache-storm - 让 Storm 喷口等待 bolt 准备就绪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23639588/

相关文章:

apache-storm - Kafka Spout 的字段分组

python - 如何在 Intellij 中从 storm-starter 运行 WordCount Topology

hdfs - Kafka Storm HDFS/S3 数据流

elasticsearch - 如何从Elasticsearch过滤stromcrawler数据

mongodb - Apache Storm和 bolt 将数据存储在管道中

apache-storm - 错误 StatusLogger 重新配置失败 : No configuration found for '511d50c0' at 'null' in 'null'

apache-httpclient-4.x - HttpClient 不可序列化异常

java - 通过 Apache Storm 的 bolt 传递输出字段

hadoop - Storm 纱 : Application container fails to launch

java - Storm 运行时文件