java - Storm 拓扑不在集群中执行
问题描述
通过提交我的拓扑stormsubmitter.submittopoloy
。在storm UI中可以看到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.
解决方案
固定,应该是java版本的不同。
目标风暴集群java版本是11。我开发topo的开发环境java版本是8,这导致了这个问题。
调整java版本以使它们相同修复问题
推荐阅读
- go - Golang 会话工作但需要根据值是否存在来验证路由
- reactjs - 令牌过期时React应用无法登录Keycloak,无限循环,刷新令牌错误
- .net - 哪个池映像更适合在 azure 批处理服务上执行具有更快横向扩展的 exe (.Net Framework 4.5)?
- javascript - ESLint 和后向断言
- node.js - Node 中 PDF 的到期日期
- c - *ip 和 ip 是一回事吗?
- c# - 抛出异常时测试通过
- python - 在 python 中创建填充图像
- java - OpenAPI Generator - Java 11 Native HTTP Client 模板:如何添加自定义标头
- python - 重写解析器函数以启用矢量化