我们目前有一个包含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作为替代方案,但发现这很慢。