集群中未执行风暴拓扑

时间:2019-10-16 03:35:56

标签: java apache-storm topology

通过stormsubmitter.submittopoloy提交我的topo。可以在风暴用户界面中看到地形,但发出的数字始终为0。

    TopologyBuilder builder = new TopologyBuilder();
    builder.setSpout("WordSpout", new WordSpout());
    builder.setBolt("WordSplitBolt", new WordSplitBolt(),5).shuffleGrouping("WordSpout");
    builder.setBolt("WordCountBolt", new WordCountBolt(),5).fieldsGrouping("WordSplitBolt", new Fields("word"));
    builder.setBolt("WordReportBolt", new WordReportBolt(),10).globalGrouping("WordCountBolt");



    Config cfg = new Config();
    cfg.setDebug(true);



    try{
        StormSubmitter.submitTopology("wordcount-topo", cfg, builder.createTopology());
    }
    catch (AlreadyAliveException e)
    {

    }
    catch (InvalidTopologyException e)
    {

    }
    catch (AuthorizationException e)
    {

    }

在此处查看屏幕截图:https://i.stack.imgur.com/w7JrG.jpg

work.log文件中收到以下错误:

2019-10-16 11:51:08.973 STDERR Thread-0 [INFO] Unrecognized VM option 'PrintGCDateStamps'
2019-10-16 11:51:08.973 STDERR Thread-1 [INFO] [0.000s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:artifacts/gc.log instead.
2019-10-16 11:51:08.977 STDERR Thread-0 [INFO] Error: Could not create the Java Virtual Machine.
2019-10-16 11:51:08.978 STDERR Thread-0 [INFO] Error: A fatal exception has occurred. Program will exit.

1 个答案:

答案 0 :(得分:0)

已修复,应该是Java版本的差异。

目标风暴集群的Java版本是11。我用于开发topo的开发环境Java版本是8,这导致了问题。

调整Java版本以使它们相同,从而解决问题