0

我在 Amazon EC2 实例上创建了一个风暴集群。我在本地环境(伪分布式环境)中测试了我的代码,它运行良好。但是当我在分布式环境中运行代码时,代码似乎不起作用。在设置集群时,我在这里是否缺少一些技术性的东西

我可以声明主管节点没有运行螺栓,因为我检查了所有主管节点的CPU 使用率,但没有一个超过 1%,但主节点(nimbus)每次都以 100% 运行,直到代码执行完毕。

我还检查了在主管节点中运行的 Java 进程,并且“jps”没有显示我的拓扑。

注意:集群在 UI 中显示了 2 个通过 nimbus 运行的主管。这表明集群是在分布式环境中设置的。

4

1 回答 1

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();
于 2015-10-20T05:34:30.530 回答