以风暴群集模式加载属性文件

时间:2014-04-10 08:16:25

标签: apache-storm

在我的拓扑中,有一小段代码从类路径

中的属性加载配置
InputStream is=getClass().getClassLoader().getResourceAsStream("dev.properties");
p.load(is);

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

有可能的原因吗?

此外,当我使用出站交互运行某些拓扑时,例如在群集模式风暴中使用ElasticSearch,我会遇到很多麻烦。即使它在本地模式风暴中运作良好。

在使用群集模式风暴之前我应该​​怎么想?

2 个答案:

答案 0 :(得分:1)

在构建拓扑时加载属性对象,然后在必要时通过构造函数将其传递给bolt / spouts。

答案 1 :(得分:0)

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