【问题标题】:How to pass jvm args to a storm application如何将 jvm args 传递给 Storm 应用程序
【发布时间】:2021-07-05 11:04:14
【问题描述】:

我正在开发一个风暴应用程序,需要使用 vmargs 传递环境和云信息。 程序 args 引发了安全问题,因为我使用无法使用的 System.setproperty 和属性文件设置这些值。 Vmargs 不适用于暴风雨。 知道我还能做什么吗?

【问题讨论】:

    标签: apache-storm jvm-arguments


    【解决方案1】:

    我假设您在远程机器上以集群模式运行storm。 在这种情况下,storm 建议您使用storm jar 命令。确实,默认情况下它只接受几个参数,因为它在内部使用调用 java 的 python 脚本。

    但似乎也可以使用 java 命令启动storm并将命令行命令传递给该命令-参见link

    【讨论】:

      【解决方案2】:

      将一些变量传递给拓扑的另一种方法是在通量文件中替换环境变量并运行

      name: topo${ENV-YOURVAR}
      

      在 bash 中运行时的样子:

      export YOURVAR=test
      storm jar yourtopo.jar org.apache.storm.flux.Flux yourtopo.flux -e
      

      标记-e 告诉storm 替换flux 文件中的环境变量

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-26
        • 2020-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-10
        相关资源
        最近更新 更多