【问题标题】:Loading properties file in storm cluster mode以风暴集群模式加载属性文件
【发布时间】:2014-04-10 08:16:25
【问题描述】:

在我的拓扑中,有一小段代码从类路径中的属性加载配置

InputStream is=getClass().getClassLoader().getResourceAsStream("dev.properties");
p.load(is);

当我在本地模式 Storm 下运行 jar 时效果很好,但是当我在集群模式下尝试它时,它会因 NullPointerException 而失败。 属性文件位于 src/main/resources(Maven 结构)中,并正确包含在 jar 文件中。

有什么可能的原因吗?

此外,当我在集群模式风暴中运行一些具有出站交互的拓扑时,例如 ElasticSearch 时,我会遇到很多麻烦。即使它在本地模式风暴中完美运行。

在使用集群模式storm之前应该考虑什么?

【问题讨论】:

  • 这个问题你解决了吗?

标签: apache-storm


【解决方案1】:

在构建拓扑时加载您的属性对象,然后在必要时通过构造函数将其传递给您的螺栓/喷口。

【讨论】:

    【解决方案2】:

    您必须在 Storm 集群中配置网络文件系统,然后将该属性文件放在 NFS 位置,从该位置读取属性文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多