pyr / riemann-kafka

kafka producer and consumer support in riemann
Other
41 stars 14 forks source link

No support for 0.2.11 #13

Open smetj opened 8 years ago

smetj commented 8 years ago

It seems after building the plugin and loading it into Riemann 0.2.11 the following error is produced:

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. SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/lib/riemann/riemann.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/riemann/riemann-kafka-0.1.4-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder] INFO [2016-08-24 14:38:33,407] main - riemann.bin - PID 3291 INFO [2016-08-24 14:38:33,410] main - riemann.bin - Loading /etc/riemann/riemann.config INFO [2016-08-24 14:38:33,429] main - riemann.plugin - walking classpath to find plugins INFO [2016-08-24 14:38:33,628] main - riemann.plugin - loading plugin: kafka INFO [2016-08-24 14:38:34,871] clojure-agent-send-off-pool-0 - riemann.plugin.kafka - reload called, setting new core value INFO [2016-08-24 14:38:34,883] clojure-agent-send-off-pool-1 - riemann.plugin.kafka - starting kafka consumer running for topics: events ERROR [2016-08-24 14:38:35,096] main - riemann.bin - Couldn't start java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at clojure.core$deref_future.invokeStatic(core.clj:2208) at clojure.core$future_call$reify6962.deref(core.clj:6688) at clojure.core$deref.invokeStatic(core.clj:2228) at clojure.core$deref.invoke(core.clj:2214) at clojure.core$map$fn4785.invoke(core.clj:2646) at clojure.lang.LazySeq.sval(LazySeq.java:40) at clojure.lang.LazySeq.seq(LazySeq.java:56) at clojure.lang.RT.seq(RT.java:521) at clojure.core$seq__4357.invokeStatic(core.clj:137) at clojure.core$dorun.invokeStatic(core.clj:3024) at clojure.core$dorun.invoke(core.clj:3024) at riemann.core$transitionBANG.invokeStatic(core.clj:156) at riemann.core$transitionBANG.invoke(core.clj:129) at clojure.lang.Atom.swap(Atom.java:51) at clojure.core$swapBANG.invokeStatic(core.clj:2261) at clojure.core$swapBANG.invoke(core.clj:2253) at riemann.config$applyBANG.invokeStatic(config.clj:294) at riemann.config$applyBANG.invoke(config.clj:289) at riemann.bin$_main.invokeStatic(bin.clj:100) at riemann.bin$_main.invoke(bin.clj:85) at clojure.lang.AFn.applyToHelper(AFn.java:156) at clojure.lang.AFn.applyTo(AFn.java:144) at riemann.bin.main(Unknown Source) Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory at org.apache.log4j.Logger.getLogger(Logger.java:41) at kafka.utils.Logging$class.logger(Logging.scala:24) at kafka.utils.VerifiableProperties.logger$lzycompute(VerifiableProperties.scala:26) at kafka.utils.VerifiableProperties.logger(VerifiableProperties.scala:26) at kafka.utils.Logging$class.info(Logging.scala:67) at kafka.utils.VerifiableProperties.info(VerifiableProperties.scala:26) at kafka.utils.VerifiableProperties.verify(VerifiableProperties.scala:217) at kafka.consumer.ConsumerConfig.(ConsumerConfig.scala:95) at clj_kafka.consumer.zk$consumer.invokeStatic(zk.clj:24) at clj_kafka.consumer.zk$consumer.invoke(zk.clj:8) at riemann.plugin.kafka$start_kafka_thread.invokeStatic(kafka.clj:40) at riemann.plugin.kafka$start_kafka_thread.invoke(kafka.clj:36) at riemann.plugin.kafka$kafka_consumer$reify427.startBANG(kafka.clj:85) at riemann.service$fn6116$G61086118.invoke(service.clj:20) at riemann.service$fn6116$G61076121.invoke(service.clj:20) at clojure.core$pmap$fn6970$fn6971.invoke(core.clj:6736) at clojure.core$binding_conveyor_fn$fn4676.invoke(core.clj:1938) at clojure.lang.AFn.call(AFn.java:18) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

The plugin runs fine on Riemann-0.2.9 though.

pyr commented 8 years ago

Thanks for this, will upgrade it to match.

liuweichu commented 7 years ago

@smetj We had the same problem, the logging library conflicts between clj-kafka and rieman 0.2.11 What we did is to compile clj-kafka by ourselves, to exclude conflict packages

$ git clone https://github.com/pingles/clj-kafka

$ clj-kafka (master) $ git diff
diff --git a/project.clj b/project.clj
index b2c6890..503b6f4 100644
--- a/project.clj
+++ b/project.clj
@@ -13,6 +13,8 @@
   :exclusions [javax.mail/mail
                javax.jms/jms
                com.sun.jdmk/jmxtools
                com.sun.jmx/jmxri
+               org.slf4j/slf4j-log4j12
+               log4j/log4j
                jline/jline]
   :plugins [[lein-expectations "0.0.8"]
             [codox "0.8.12"]]

$ lein uberjar
$ ls target/clj-kafka-0.3.4-standalone.jar

Then put riemann-kafka-0.1.4.jar and manual packaged clj-kafka-0.3.4-standalone.jar to classpath