我在Amazon EC2实例上创建了一个风暴群集。我在本地环境(伪分布式环境)中测试了我的代码,它运行良好。但是当我在分布式环境中运行代码时,代码似乎不起作用。 在设置群集时,我是否缺少技术支持。
我可以声明管理程序节点没有运行螺栓,因为我检查了所有管理程序节点的 CPU使用率,但没有一个超过1%但主机(nimbus) )每次都以100%运行,直到代码执行完毕。
我还检查了在超级用户节点中运行的Java进程," jps" 没有显示我的拓扑结构。
注意:群集在通过nimbus运行的UI中显示2个主管。这表明群集是在分布式环境中设置的。
答案 0 :(得分:1)
解决我的问题:
之前我正在使用LocalCluster
代替StormSubmitter
使用此:
StormSubmitter.submitTopologyWithProgressBar(args[0], conf, builder.createTopology());
而不是:
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("test", conf, builder.createTopology());
Utils.sleep(10000);
cluster.killTopology("test");
cluster.shutdown();