我有风暴的拓扑结构,这我在群集中运行下面的代码:在集群上执行风暴,清理不会被调用
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("word-reader", new WordReader());
builder.setBolt("word-normalizer", new WordNormalizer())
.shuffleGrouping("word-reader");
builder.setBolt("word-counter", new WordCounter()).fieldsGrouping(
"word-normalizer", new Fields("word"));
Config conf = new Config();
conf.put("wordsFile", args[0]);
conf.setDebug(false);
conf.put(Config.TOPOLOGY_MAX_SPOUT_PENDING, 1);
try {
StormSubmitter.submitTopology("Test-topology", conf,
builder.createTopology());
} catch (AlreadyAliveException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidTopologyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
当我调试它,下面的cleanup()
方法不运行类WordCounter
...
@Override
public void cleanup() {
System.out.println("-- Word Counter --");
}
...并且拓扑未完成运行。
你能分享异常消息吗? – abhi 2013-05-04 09:59:19
所以,我给你带来了疑问的好处,并删除了我在格式化代码时找到的'insert here here'部分。除此之外,这个问题真的不完整 - 你应该提供错误条件,堆栈跟踪,以及你的真正意思是“拓扑未完成” - 我冒昧并假定“没有完成运行”,但我很乐意待确认。 – Makoto 2013-09-02 06:41:48
我想你有答案吗? – 2013-09-02 07:12:17