Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 风暴拓扑不提交_Java_Log4j_Rabbitmq_Slf4j_Apache Storm - Fatal编程技术网

Java 风暴拓扑不提交

Java 风暴拓扑不提交,java,log4j,rabbitmq,slf4j,apache-storm,Java,Log4j,Rabbitmq,Slf4j,Apache Storm,我已经配置了我的机器zookeeper、nimbus和supervisor,它们运行正常,并且我的拓扑在LocalCluster中工作 LocalCluster cluster = new LocalCluster(); cluster.submitTopology("SendPost", conf, builder.createTopology()); Utils.sleep(10000000000l); cluster.killTopology("SendPost"); cluster.sh

我已经配置了我的机器zookeeper、nimbus和supervisor,它们运行正常,并且我的拓扑在LocalCluster中工作

LocalCluster cluster = new LocalCluster();
cluster.submitTopology("SendPost", conf, builder.createTopology());
Utils.sleep(10000000000l);
cluster.killTopology("SendPost");
cluster.shutdown();
现在我想尝试提交我的拓扑,但它不工作

/usr/local/storm/bin$ ./storm jar /home/winoria/Desktop/Storm/storm-starter/target/storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.winoria.post.PostTopology Post
我发现以下错误

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/storm/lib/logback-classic-1.0.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/winoria/Desktop/Storm/storm-starter/target/storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
Running: java -client -Dstorm.options= -Dstorm.home=/usr/local/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dstorm.conf.file= -cp /usr/local    /storm/storm-netty-0.9.0.1.jar:/usr/local/storm/storm-console-logging-0.9.0.1.jar:/usr/local/storm/storm-core-0.9.0.1.jar:/usr/local/storm/lib/httpcore-4.1.jar:/usr/local/storm/lib/carbonite-1.5.0.jar:/usr/local/storm/lib/mockito-all-1.9.5.jar:/usr/local/storm/lib/commons-io-1.4.jar:/usr/local/storm/lib/commons-fileupload-1.2.1.jar:/usr/local/storm/lib/jgrapht-0.8.3.jar:/usr/local/storm/lib/ring-jetty-adapter-0.3.11.jar:/usr/local/storm/lib/jzmq-2.1.0.jar:/usr/local/storm/lib/asm-4.0.jar:/usr/local/storm/lib/logback-core-1.0.6.jar:/usr/local/storm/lib/tools.nrepl-0.2.3.jar:/usr/local/storm/lib/compojure-1.1.3.jar:/usr/local/storm/lib/json-simple-1.1.jar:/usr/local/storm/lib/ring-devel-0.3.11.jar:/usr/local/storm/lib/commons-logging-1.1.1.jar:/usr/local/storm/lib/httpclient-4.1.1.jar:/usr/local/storm/lib/reflectasm-1.07-shaded.jar:/usr/local/storm/lib/commons-exec-1.1.jar:/usr/local/storm/lib/guava-13.0.jar:/usr/local/storm/lib/clout-1.0.1.jar:/usr/local/storm/lib/objenesis-1.2.jar:/usr/local/storm/lib/slf4j-api-1.6.5.jar:/usr/local/storm/lib/clojure-1.4.0.jar:/usr/local/storm/lib/jetty-6.1.26.jar:/usr/local/storm/lib/hiccup-0.3.6.jar:/usr/local/storm/lib/clj-stacktrace-0.2.2.jar:/usr/local/storm/lib/log4j-over-slf4j-1.6.6.jar:/usr/local/storm/lib/tools.logging-0.2.3.jar:/usr/local/storm/lib/ring-core-1.1.5.jar:/usr/local/storm/lib/zookeeper-3.3.3.jar:/usr/local/storm/lib/math.numeric-tower-0.0.1.jar:/usr/local/storm/lib/disruptor-2.10.1.jar:/usr/local/storm/lib/minlog-1.2.jar:/usr/local/storm/lib/core.incubator-0.1.0.jar:/usr/local/storm/lib/servlet-api-2.5-20081211.jar:/usr/local/storm/lib/netty-3.6.3.Final.jar:/usr/local/storm/lib/ring-servlet-0.3.11.jar:/usr/local/storm/lib/clj-time-0.4.1.jar:/usr/local/storm/lib/snakeyaml-1.11.jar:/usr/local/storm/lib/commons-codec-1.4.jar:/usr/local/storm/lib/tools.cli-0.2.2.jar:/usr/local/storm/lib/logback-classic-1.0.6.jar:/usr/local/storm/lib/servlet-api-2.5.jar:/usr/local/storm/lib/kryo-2.17.jar:/usr/local/storm/lib/joda-time-2.0.jar:/usr/local/storm/lib/curator-client-1.0.1.jar:/usr/local/storm/lib/libthrift7-0.7.0-2.jar:/usr/local/storm/lib/tools.macro-0.1.0.jar:/usr/local/storm/lib/jline-0.9.94.jar:/usr/local/storm/lib/clojure-complete-0.2.3.jar:/usr/local/storm/lib/curator-framework-1.0.1.jar:/usr/local/storm/lib/commons-lang-2.5.jar:/usr/local/storm/lib/junit-3.8.1.jar:/usr/local/storm/lib/jetty-util-6.1.26.jar:/home/winoria/Desktop/Storm/storm-starter/target/storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar:/usr/local/storm/conf:/usr/local/storm/bin -Dstorm.jar=/home/winoria/Desktop/Storm/storm-starter/target/storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.winoria.post.PostTopology Post
SLF4J: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError. 
SLF4J: See also http://www.slf4j.org/codes.html#log4jDelegationLoop for more details.
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.apache.log4j.Logger.getLogger(Logger.java:39)
at org.apache.log4j.Logger.getLogger(Logger.java:43)
at com.rapportive.storm.spout.AMQPSpout.<clinit>(AMQPSpout.java:67)
at com.winoria.post.PostTopology.main(PostTopology.java:33)
Caused by: java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-    log4j12.jar on the class path, preempting StackOverflowError. See also http://www.slf4j.org/codes.html#log4jDelegationLoop for more details.
at org.apache.log4j.Log4jLoggerFactory.<clinit>(Log4jLoggerFactory.java:49)
... 4 more
SLF4J:类路径包含多个SLF4J绑定。
SLF4J:在[jar:file:/usr/local/storm/lib/logback-classic-1.0.6.jar!/org/SLF4J/impl/StaticLoggerBinder.class]中找到绑定
SLF4J:在[jar:file:/home/winoria/Desktop/Storm/Storm starter/target/Storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar!/org/SLF4J/impl/StaticLoggerBinder.class]中找到绑定
SLF4J:参见http://www.slf4j.org/codes.html#multiple_bindings 我需要一个解释。
运行:java-client-Dstorm.options=-Dstorm.home=/usr/local/storm-Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib-Dstorm.conf.file=-cp/usr/local/storm/storm-netty-0.9.0.1.jar:/usr/local/storm/storm-console-logging-0.9.0.1.jar:/usr/local/storm/storm-core-0.9.0.jar:/usr/local/storm/lib/httpcore-4.1.jar:/usr/local/storm/lib/carbonite-1.5.0.jar:/usr/local/storm/lib/mockito-all-1.9.5.jar:/usr/local/storm/lib/commons-io-1.4.jar:/usr/local/lib/lib/lib/upload/commons-1.1.1.2/usrm/lib/jgrapht-0.8.3.jar:/usr/local/storm/lib/ring-jetty-adapter-0.3.11.jar:/usr/local/storm/lib/jzmq-2.1.0.jar:/usr/local/storm/lib/asm-4.0.jar:/usr/local/storm/lib/logback-core-1.0.6.jar:/usr/local/storm/lib/tools.nrepl.2.3.jar:/usr/local/local/storm/lib/compojure-1.1.1.1.3.3.jar:/usr/local/storm/lib/json/json/json/json/1.1.0。11.jar:/usr/local/storm/lib/commons-logging-1.1.jar:/usr/local/storm/lib/httpclient-4.1.1.jar:/usr/local/storm/lib/reflectasm-1.07-shade.jar:/usr/local/storm/lib/commons-exec-1.1.jar:/usr/local/storm/lib/guava-13.0.jar:/usr/local/storm/lib/clout-1.0.1.1.jar:/usr/local/local/storm/storm/storm/storm/storm/lib/lib/lib/objeness/lib/lib/objeness-1.1.5/slj/storm/lib/clojure-1.4.0.jar:/usr/local/storm/lib/jetty-6.1.26.jar:/usr/local/storm/lib/hiccup-0.3.6.jar:/usr/local/storm/lib/clj-stacktrace-0.2.jar:/usr/local/storm/lib/log4j-over-slf4j-1.6.jar:/usr/local/storm/lib/tools.logging-0.2.3.jar:/usr/local/storm/storm/lib/lib/local/3.5.jarth.numeric-tower-0.0.1.jar:/usr/local/storm/lib/disruptor-2.10.1.jar:/usr/local/storm/lib/minlog-1.2.jar:/usr/local/storm/lib/core.incubator-0.1.jar:/usr/local/storm/lib/servlet-api-2.5-20081211.jar:/usr/local/storm/lib/netty-3.6.3.3.Final.jar:/usr/local/storm/lib/ring-servlet-servlet-0.3.11.jar:/usr/local/storm/lib/lib/lib/time-0.4/clj/snakeyaml-1.11.jar:/usr/local/storm/lib/commons-codec-1.4.jar:/usr/local/storm/lib/tools.cli-0.2.jar:/usr/local/storm/lib/logback-classic-1.0.6.jar:/usr/local/storm/lib/servlet-api-2.5.jar:/usr/local/storm/lib/kryo-2.17.jar:/usr/local/storm/lib/lib/joda-time-2.0.jar:/usr/local/storm/lib/lib/client-1.0.7-2.jar:/usr/local/storm/lib/tools.macro-0.1.0.jar:/usr/local/storm/lib/jline-0.9.94.jar:/usr/local/storm/lib/clojure-complete-0.2.3.jar:/usr/local/storm/lib/curator-framework-1.0.1.jar:/usr/local/storm/lib/commons-lang-2.5.jar:/usr/local/storm/lib/lib/lib/lib/junit-3.8.1.jar:/usr/local/storm/lib/lib/jetty/lib/util/6.26/storm-6.26/starter/winori/target/storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar:/usr/local/storm/conf:/usr/local/storm/bin-Dstorm.jar=/home/winoria/Desktop/storm/storm-starter/target/storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.winoria.post.post
SLF4J:在类路径上检测到log4j-over-SLF4J.jar和SLF4J-log4j12.jar,抢占StackOverflowerError。
SLF4J:另见http://www.slf4j.org/codes.html#log4jDelegationLoop 更多细节。
线程“main”java.lang.ExceptionInInitializeError中出现异常
位于org.apache.log4j.Logger.getLogger(Logger.java:39)
位于org.apache.log4j.Logger.getLogger(Logger.java:43)
在com.reportive.storm.spout.amqpsout.(amqpsout.java:67)
位于com.winoria.post.PostTopology.main(PostTopology.java:33)
原因:java.lang.IllegalStateException:在类路径上检测到log4j-over-slf4j.jar和slf4j-log4j12.jar,抢占StackOverflower错误。另见http://www.slf4j.org/codes.html#log4jDelegationLoop 更多细节。
位于org.apache.log4j.Log4jLoggerFactory(Log4jLoggerFactory.java:49)
... 4更多
请帮帮我。。。。。。。。。。。
提前感谢

尝试从类路径中排除log4j-over-slf4j.jarslf4j-log4j12.jar。我不知道你使用哪种构建工具。查看构建工具的文档以了解如何排除依赖项


更多参考信息:

我使用了cassandra和cassandra所有版本1.6.1都将log4j和slf4j-log4j12声明为编译时依赖项,因此我添加了以下依赖项,我的拓扑工作很好

<dependencies>
<dependency>
<groupId> org.apache.cassandra</groupId>
<artifactId>cassandra-all</artifactId>
<version>1.1.6</version>

<exclusions>
  <exclusion> 
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
  </exclusion>
  <exclusion> 
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
  </exclusion>
</exclusions> 

</dependency>
</dependencies>

org.apache.cassandra
卡桑德拉
1.1.6
org.slf4j
slf4j-log4j12
log4j
log4j

如果在排除log4j-over-slf4j.jar或slf4j-log4j12.jar之后,仍然会出现此错误。如果这两个类都存在,请在jar中查看:org.slf4j.impl.log4jloggerfactory和org.apache.log4j.log4jloggerfactory。 然后找出除了slf4j和log4j之外是否还有其他jar包含这两个类。
在我的情况下,activemq中有org.slf4j.impl.log4jloggerfactory。错误日志确实误导了我很长时间。

您必须排除所有出现的
slf4j-log4j12.jar
。如果排除所有出现的
log4j-over-slf4j.jar
,则不起作用,因为Apache Storm在运行时添加了
log4j-over-slf4j
(通过
pom.xml
中的
Storm核心
依赖项)。即使我将
exclude log4j-over-slf4j
添加到
storm core
依赖项中,它仍然会在运行时恢复