gpt4 book ai didi

apache-storm - Storm 拓扑配置

转载 作者:行者123 更新时间:2023-12-03 14:59:05 28 4
gpt4 key购买 nike

如何为 Storm 拓扑提供自定义配置?例如,如果我构建了一个连接到 MySQL 集群的拓扑,并且我希望能够在不重新编译的情况下更改需要连接的服务器,我该怎么做?我的偏好是使用配置文件,但我担心文件本身没有部署到集群,因此它不会运行(除非我对集群如何工作的理解有缺陷)。到目前为止,我所见过的在运行时将配置选项传递给 Storm 拓扑的唯一方法是通过命令行参数,但是当您获得大量参数时,这会很麻烦。

确实有一个想法是利用 shell 脚本将文件读入一个变量,并将该变量的内容作为字符串传递给拓扑,但如果可能的话,我想要一些更简洁的东西。

有人遇到过这种情况么?如果是这样,您是如何解决的?

编辑:

它似乎需要提供更多的澄清。我的场景是我有一个拓扑,我希望能够在不同的环境中部署而无需重新编译它。通常,我会创建一个配置文件,其中包含诸如数据库连接参数之类的内容并将其传入。我想知道如何在 Storm 中执行类似的操作。

最佳答案

我通过在代码中提供配置解决了这个问题:

config.put(Config.TOPOLOGY_WORKER_CHILDOPTS, SOME_OPTS);

我试图提供一个特定于拓扑的 storm.yaml但它不起作用。如果您可以使用storm.yaml,请纠正我。

更新:
对于任何想知道 SOME_OPTS 是什么的人,这来自 Storm 邮件列表上的 Satish Duggana:

Config.TOPOLOGY_WORKER_CHILDOPTS: Options which can override WORKER_CHILDOPTS for a topology. You can configure any java options like memory, gc etc

In your case it can be


config.put(Config.TOPOLOGY_WORKER_CHILDOPTS, "-Xmx1g");

关于apache-storm - Storm 拓扑配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18061332/

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