Hi Alec I've run into this problem as well, when Storm brings up a worker it adds a number of jars to the classpath, including Zookeeper, which Storm itself depends on. Take a look in your supervisor log, you should see lines beginning with:
b.s.d.supervisor [INFO] Launching worker with command: java -server followed by a long list of parameters and jars, one of which will be the Zookeeper jar storm is adding. Your code is looking for Zookeeper 3.4.5 but finding whatever your version of Storm uses. The only fixes I'm aware of are to replace 3.4.5 with that version in your topology code, or update to Storm 0.9.2 which also uses Zookeeper 3.4.5. Evan On Thu, Aug 7, 2014 at 6:33 PM, Sa Li <[email protected]> wrote: > Hi, all > > I have trouble for running a kafkaSpout to print the kafka topic. However > getting such exceptions: > 3345 [Thread-18-$spoutcoord-spout0] ERROR backtype.storm.util - Async loop > died! > java.lang.NoSuchMethodError: > org.apache.zookeeper.ZooKeeper.<init>(Ljava/lang/String;ILorg/apache/zookeeper/Watcher;Z)V > > 3346 [Thread-18-$spoutcoord-spout0] ERROR backtype.storm.daemon.executor - > java.lang.NoSuchMethodError: > org.apache.zookeeper.ZooKeeper.<init>(Ljava/lang/String;ILorg/apache/zookeeper/Watcher;Z)V > > I poked around online, and talk to some developers here in another thread, > and I realized this is supposed to be a conflicting of two different > zookeepers in the classPath, I have exclude the zookeeper > in kafka, kafka-storm, following is the pom, > > <!-- Kafka 0.8.0 compiled Scala 2.9.2 --> > <dependency> > <groupId>org.apache.kafka</groupId> > <artifactId>kafka_2.10</artifactId> > <version>0.8.1.1</version> > <scope>compile</scope> > > <exclusions> > <exclusion> > <groupId>org.apache.zookeeper</groupId> > <artifactId>zookeeper</artifactId> > </exclusion> > <exclusion> > <groupId>log4j</groupId> > <artifactId>log4j</artifactId> > </exclusion> > </exclusions> > > > </dependency> > > > <!-- Storm-Kafka compiled --> > > <dependency> > <artifactId>storm-kafka</artifactId> > <groupId>org.apache.storm</groupId> > <version>0.9.2-incubating</version> > <!-- > <scope>*compile*</scope> > --> > <exclusions> > <exclusion> > <groupId>org.apache.zookeeper</groupId> > <artifactId>zookeeper</artifactId> > </exclusion> > </exclusions> > > </dependency> > > <dependency> > <groupId>storm</groupId> > <artifactId>storm-kafka</artifactId> > <version>0.9.0-wip16a-scala292</version> > > <exclusions> > <exclusion> > <groupId>org.apache.zookeeper</groupId> > <artifactId>zookeeper</artifactId> > </exclusion> > </exclusions> > > > </dependency> > > > And I double check in the mvn tree, and only see one zookeeper. > [INFO] Building kafka-storm-bitmap 0.0.1-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [INFO] > [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ > kafka-storm-bitmap --- > [INFO] storm.artemis:kafka-storm-bitmap:jar:0.0.1-SNAPSHOT > [INFO] +- org.json:json:jar:20140107:compile > [INFO] +- org.slf4j:slf4j-simple:jar:1.7.2:compile > [INFO] | \- org.slf4j:slf4j-api:jar:1.7.2:compile > [INFO] +- log4j:log4j:jar:1.2.17:compile > [INFO] +- org.scala-lang:scala-library:jar:2.9.2:compile > [INFO] +- org.mockito:mockito-all:jar:1.9.0:test > [INFO] +- junit:junit:jar:4.11:test (scope not updated to compile) > [INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test > [INFO] +- org.apache.curator:curator-framework:jar:2.6.0:compile > [INFO] | \- org.apache.curator:curator-client:jar:2.6.0:compile > [INFO] +- org.apache.curator:curator-recipes:jar:2.6.0:test > [INFO] +- org.apache.curator:curator-test:jar:2.6.0:test > [INFO] | +- org.javassist:javassist:jar:3.18.1-GA:test > [INFO] | \- org.apache.commons:commons-math:jar:2.2:test > [INFO] +- org.apache.zookeeper:zookeeper:jar:3.4.5:compile > [INFO] | +- jline:jline:jar:0.9.94:compile > [INFO] | \- org.jboss.netty:netty:jar:3.2.2.Final:compile > [INFO] +- org.apache.kafka:kafka_2.10:jar:0.8.1.1:compile > [INFO] | +- com.yammer.metrics:metrics-core:jar:2.2.0:compile > [INFO] | +- org.xerial.snappy:snappy-java:jar:1.0.5:compile > [INFO] | +- net.sf.jopt-simple:jopt-simple:jar:3.2:compile > [INFO] | \- com.101tec:zkclient:jar:0.3:compile > [INFO] +- org.apache.storm:storm-kafka:jar:0.9.2-incubating:compile > [INFO] +- storm:storm-kafka:jar:0.9.0-wip16a-scala292:compile > [INFO] | \- com.twitter:kafka_2.9.2:jar:0.7.0:compile > [INFO] | \- com.github.sgroschupf:zkclient:jar:0.1:compile > [INFO] +- org.testng:testng:jar:6.8.5:test > [INFO] | +- org.beanshell:bsh:jar:2.0b4:test > [INFO] | +- com.beust:jcommander:jar:1.27:test > [INFO] | \- org.yaml:snakeyaml:jar:1.6:test > [INFO] +- org.easytesting:fest-assert-core:jar:2.0M8:test > [INFO] | \- org.easytesting:fest-util:jar:1.2.3:test > [INFO] +- org.jmock:jmock:jar:2.6.0:test > [INFO] | \- org.hamcrest:hamcrest-library:jar:1.1:test > [INFO] +- storm:storm:jar:0.9.0.1:provided > [INFO] | +- storm:storm-console-logging:jar:0.9.0.1:provided > [INFO] | +- storm:storm-core:jar:0.9.0.1:provided > [INFO] | | +- org.clojure:clojure:jar:1.4.0:provided > [INFO] | | +- commons-io:commons-io:jar:1.4:provided > [INFO] | | +- org.apache.commons:commons-exec:jar:1.1:provided > [INFO] | | +- storm:libthrift7:jar:0.7.0-2:provided > [INFO] | | | +- commons-lang:commons-lang:jar:2.5:provided > [INFO] | | | \- javax.servlet:servlet-api:jar:2.5:provided > [INFO] | | +- clj-time:clj-time:jar:0.4.1:provided > [INFO] | | | \- joda-time:joda-time:jar:2.0:provided > [INFO] | | +- com.netflix.curator:curator-framework:jar:1.0.1:provided > [INFO] | | | \- com.netflix.curator:curator-client:jar:1.0.1:provided > [INFO] | | +- backtype:jzmq:jar:2.1.0:provided > [INFO] | | +- com.googlecode.json-simple:json-simple:jar:1.1:provided > [INFO] | | +- compojure:compojure:jar:1.1.3:provided > [INFO] | | | +- org.clojure:core.incubator:jar:0.1.0:provided > [INFO] | | | +- org.clojure:tools.macro:jar:0.1.0:provided > [INFO] | | | +- clout:clout:jar:1.0.1:provided > [INFO] | | | \- ring:ring-core:jar:1.1.5:provided > [INFO] | | | \- > commons-fileupload:commons-fileupload:jar:1.2.1:provided > [INFO] | | +- hiccup:hiccup:jar:0.3.6:provided > [INFO] | | +- ring:ring-devel:jar:0.3.11:provided > [INFO] | | | \- clj-stacktrace:clj-stacktrace:jar:0.2.2:provided > [INFO] | | +- ring:ring-jetty-adapter:jar:0.3.11:provided > [INFO] | | | +- ring:ring-servlet:jar:0.3.11:provided > [INFO] | | | +- org.mortbay.jetty:jetty:jar:6.1.26:provided > [INFO] | | | | \- > org.mortbay.jetty:servlet-api:jar:2.5-20081211:provided > [INFO] | | | \- org.mortbay.jetty:jetty-util:jar:6.1.26:provided > [INFO] | | +- org.clojure:tools.logging:jar:0.2.3:provided > [INFO] | | +- org.clojure:math.numeric-tower:jar:0.0.1:provided > [INFO] | | +- storm:carbonite:jar:1.5.0:provided > [INFO] | | | \- com.esotericsoftware.kryo:kryo:jar:2.17:provided > [INFO] | | | +- > com.esotericsoftware.reflectasm:reflectasm:jar:shaded:1.07:provided > [INFO] | | | | \- org.ow2.asm:asm:jar:4.0:provided > [INFO] | | | +- com.esotericsoftware.minlog:minlog:jar:1.2:provided > [INFO] | | | \- org.objenesis:objenesis:jar:1.2:provided > [INFO] | | +- org.apache.httpcomponents:httpclient:jar:4.1.1:provided > [INFO] | | | +- org.apache.httpcomponents:httpcore:jar:4.1:provided > [INFO] | | | +- commons-logging:commons-logging:jar:1.1.1:provided > [INFO] | | | \- commons-codec:commons-codec:jar:1.4:provided > [INFO] | | +- storm:tools.cli:jar:0.2.2:provided > [INFO] | | +- com.googlecode.disruptor:disruptor:jar:2.10.1:provided > [INFO] | | +- storm:jgrapht:jar:0.8.3:provided > [INFO] | | +- ch.qos.logback:logback-classic:jar:1.0.6:provided > [INFO] | | | \- ch.qos.logback:logback-core:jar:1.0.6:provided > [INFO] | | \- org.slf4j:log4j-over-slf4j:jar:1.6.6:provided > [INFO] | \- storm:storm-netty:jar:0.9.0.1:provided > [INFO] | \- io.netty:netty:jar:3.6.3.Final:provided > [INFO] +- commons-collections:commons-collections:jar:3.2.1:compile > [INFO] \- com.google.guava:guava:jar:15.0:compile > > > After I changed all of these, but still getting the same error, this > really bother me, I have no idea what to move forwards, anyone I have idea > what the problem is? > > > Thanks > > Alec > > > > >
