2

クラスターで実行しているストーム トポロジの次のコードがあります。

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 --");
}

...そして、トポロジーの実行が終了しません。

4

2 に答える 2