如何开发(本地)和部署Storm Topology(远程)?

Zac*_*k S 4 java netbeans cluster-computing nimbus apache-storm

我目前在Windows机器上与Netbeans合作开发拓扑.当我在本地模式下部署时:
LocalCluster cluster = new LocalCluster(); cluster.submitTopology("word-count", conf, builder.createTopology());
一切正常,但是当我尝试:
StormSubmitter.submitTopology("word", conf, builder.createTopology());
它显然尝试以集群模式部署拓扑并失败,因为我没有在我的本地计算机上运行风暴nimbus.我确实在一个Digital Ocean Droplet上部署了storm,但我当前(并不方便)的解决方案是复制JAR文件并使用storm jar...命令进行部署.
我的问题是:有没有办法告诉Netbeans我的nimbus IP地址是什么,所以它可以远程部署它?(并节省我的时间)
提前谢谢!

Zac*_*k S 5

检查此链接
现在我可以在Netbeans中开发拓扑,在本地测试它们,并最终将它们部署到集群上的Nimbus.这个解决方案对我很有用!!!
添加到conf文件:
conf.put(Config.NIMBUS_HOST, "123.456.789.101); //YOUR NIMBUS'S IP conf.put(Config.NIMBUS_THRIFT_PORT,6627); //int is expected here

另外,添加以下内容: System.setProperty("storm.jar", <path-to-jar>); //link to exact file location (w/ dependencies) 以避免以下错误:
[main] INFO backtype.storm.StormSubmitter - Jar not uploaded to master yet. Submitting jar... Exception in thread "main" java.lang.RuntimeException: Must submit topologies using the 'storm' client script so that StormSubmitter knows which jar to upload.
干杯!