【问题标题】:Can you add/remove KafkaSpouts to Apache Storm Topology Dynamically你能动态添加/删除 KafkaSpouts 到 Apache Storm 拓扑吗
【发布时间】:2016-08-30 18:54:02
【问题描述】:

我有一个接受来自多个 Kafka 主题的消息的 Apache Storm 拓扑。

目前“多”等于“二”。

由于我目前只有两个 KafkaSpouts 可以收听,因此我已将它们硬编码到我的 Topology 类中,并编码如下:-

builder.setSpout(SPOUT_ONE_ID, kafkaSpout_A, 1);
builder.setSpout(SPOUT_TWO_ID, kafkaSpout_B, 1);
builder.setBolt(BOLT_ID, myBolt, 1).shuffleGrouping(SPOUT_ONE_ID).shuffleGrouping(SPOUT_TWO_ID);

然而 KafkaSpout 的数量会随着时间的推移而增加,每个新的 KafkaSpout 都会听自己独特的主题。每次出现新主题时,我都必须对我的拓扑进行代码更改并重新部署它。

我更希望我的拓扑由外部配置“机制”控制,例如磁盘文件或数据库表。通过添加(或删除)Kafka 主题详细信息,我希望我的拓扑开始(或停止)“监听”这些主题。

Apache Storm 是否支持这种类型的动态配置?

【问题讨论】:

    标签: configuration apache-kafka apache-storm


    【解决方案1】:

    Apache Storm 目前不支持动态更改拓扑配置。作为 JStorm 的一部分,有一个开放的 JIRA 项目需要支持。见链接:https://issues.apache.org/jira/browse/STORM-1335

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2019-05-24
      • 1970-01-01
      • 2021-06-02
      • 2019-08-04
      • 1970-01-01
      相关资源
      最近更新 更多