我们目前有一个包含6种拓扑的jar。为了部署这些拓扑,我们目前使用
/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,并将它放在nimbus节点上的“uploadedjarlocation”中(我做过一次)。然后更改部署代码以对每个拓扑使用以下代码。
nimbusClient = NimbusClient.getConfiguredClient(storm_conf);
client = nimbusClient.getClient();
...
client.submitTopology(topologyName, uploadedJarLocation, jsonConf, topology.buildTopology());
这已经加快了事情,似乎工作良好,但我想问
这是一种安全的方法吗?我能安全地引用我通过scp预先上传到nimbus的uploadedjarlocation吗?
有没有其他方法可以避免多jar上传?
我知道stormsubmitter.submitjar是一个替代品,但是我发现这个速度很慢。
暂无答案!
目前还没有任何答案,快来回答吧!