Strom在本地运行调试出现的错误

Posted juncaoit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Strom在本地运行调试出现的错误相关的知识,希望对你有一定的参考价值。

1.错误日志

31385 [main] WARN  backtype.storm.daemon.nimbus - Topology submission exception. (topology name=‘webloganalyse2‘) #<InvalidTopologyException InvalidTopologyException(msg:Component: [countIpBolt] subscribes from non-existent stream: [ipCountStream] of component [webLogParserBolt])>
31385 [main] ERROR org.apache.storm.zookeeper.server.NioserverCnxnFactory - Thread Thread[main,5,main] died
backtype.storm.generated.InvalidTopologyException: null
    at backtype.storm.daemon.common$validate_structure_BANG_.invoke(common.clj:172) ~[storm-core-0.9.6.jar:0.9.6]
    at backtype.storm.daemon.common$system_topology_BANG_.invoke(common.clj:307) ~[storm-core-0.9.6.jar:0.9.6]
    at backtype.storm.daemon.nimbus$fn__4261$exec_fn__1104__auto__$reify__4274.submitTopologyWithOpts(nimbus.clj:948) ~[storm-core-0.9.6.jar:0.9.6]
    at backtype.storm.daemon.nimbus$fn__4261$exec_fn__1104__auto__$reify__4274.submitTopology(nimbus.clj:966) ~[storm-core-0.9.6.jar:0.9.6]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_144]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_144]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_144]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144]
    at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93) ~[clojure-1.5.1.jar:na]
    at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28) ~[clojure-1.5.1.jar:na]
    at backtype.storm.testing$submit_local_topology.invoke(testing.clj:264) ~[storm-core-0.9.6.jar:0.9.6]
    at backtype.storm.LocalCluster$_submitTopology.invoke(LocalCluster.clj:43) ~[storm-core-0.9.6.jar:0.9.6]
    at backtype.storm.LocalCluster.submitTopology(Unknown Source) ~[storm-core-0.9.6.jar:0.9.6]
    at com.jun.it2.WebLogStatictis.main(WebLogStatictis.java:31) ~[classes/:na]

 

2.出现这个问题的原因

  下游Bolt未定义数据流错误

  在下游Bolt接收数据时,往往会忽略具体的接收数据流名称,例如

  builder.setBolt(devInter, new InterBolt().shuffleGrouping(dev);

 

3.分析本日志

  可以看到在webLogParserBolt.java中。

  同时说明,在countIpBolt中不存在ipCountStream流名称。

 

4.看自己的程序、

  技术分享图片

 

5.修改后的程序

  技术分享图片

 

6.效果

  这个时候,就不会再报错了。

 

以上是关于Strom在本地运行调试出现的错误的主要内容,如果未能解决你的问题,请参考以下文章

运行/调试你的PHP代码

Excel VBA入门: 代码调试/错误处理/代码优化

IIS 错误,无法在网络服务器上开始调试

Azure 功能:运行/测试模式下出现 500 个内部内部服务器错误

Unity中timeline出现脚本错误怎么解决

由于未找到 ID 错误的视图,列表片段未出现