使用预部署的jar部署Storm拓扑

时间:2017-04-14 14:29:07

标签: apache-storm hortonworks-data-platform

我们目前有一个包含6种拓扑的jar。要部署这些拓扑,我们目前使用

进行6次单独调用
/bin/storm jar $LOCAL_JAR  $TOPOLOGY_CLASS $TOPOLOGY_NAME $PS_ENV $ZK_QUORUM  -c nimbus.host=$NIMBUS_HOST $STORM_CONFIG_ARGS

查看日志输出,每次提交拓扑时,jar也会上传到nimbus,即有6行这样的

9937 [main] INFO  o.a.s.StormSubmitter - Successfully uploaded topology jar to assigned location:...

我想避免多次上传jar。我尝试通过scp上传jar并将其放入" uploadedJarLocation"在nimbus节点上(我这样做一次)。 然后更改我的部署代码,以便为每种拓扑使用以下内容。

nimbusClient = NimbusClient.getConfiguredClient(storm_conf);
client = nimbusClient.getClient();
...
client.submitTopology(topologyName, uploadedJarLocation, jsonConf, topology.buildTopology());

这加快了速度,似乎工作正常,但我想问一下

这是一种安全的方法,我可以通过scp安全地引用我预先上传到nimbus的uploadedJarLocation吗?

是否有其他方法可以避免多个jar上传?

我知道StormSubmitter.submitJar作为替代方案,但发现这很慢。

0 个答案:

没有答案