我有風暴的拓撲結構,這我在羣集中運行下面的代碼:在集羣上執行風暴,清理不會被調用
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