ОШИБКА backtype.storm.daemon.executor - java.lang.NoClassDefFoundError: org/I0Itec/zkclient/serialize/ZkSerializer

Я делаю интеграцию kafka storm, и при выполнении кода storm я получаю эту ошибку

ERROR backtype.storm.util - Async loop died!
java.lang.NoClassDefFoundError: org/I0Itec/zkclient/serialize/ZkSerializer
at kafka.api.OffsetRequest.writeTo(OffsetRequest.scala:65) ~[kafka_2.9.2-0.7.0.jar:na]
at kafka.network.BoundedByteBufferSend.<init>(BoundedByteBufferSend.scala:43) ~[kafka_2.9.2-0.7.0.jar:na]
at kafka.consumer.SimpleConsumer.sendRequest(SimpleConsumer.scala:171) ~[kafka_2.9.2-0.7.0.jar:na]
at kafka.consumer.SimpleConsumer.liftedTree3$1(SimpleConsumer.scala:152) ~[kafka_2.9.2-0.7.0.jar:na]
at kafka.consumer.SimpleConsumer.getOffsetsBefore(SimpleConsumer.scala:151) ~[kafka_2.9.2-0.7.0.jar:na]
at kafka.javaapi.consumer.SimpleConsumer.getOffsetsBefore(SimpleConsumer.scala:66) ~[kafka_2.9.2-0.7.0.jar:na]
at storm.kafka.PartitionManager.<init>(PartitionManager.java:73) ~[kafka-1.1.jar:na]
at storm.kafka.StaticCoordinator.<init>(StaticCoordinator.java:26) ~[kafka-1.1.jar:na]
at storm.kafka.KafkaSpout.open(KafkaSpout.java:74) ~[kafka-1.1.jar:na]
at backtype.storm.daemon.executor$fn__3489$fn__3504.invoke(executor.clj:499) ~[storm-0.9.0-wip15.jar:na]
at backtype.storm.util$async_loop$fn__436.invoke(util.clj:375) ~[storm-0.9.0-wip15.jar:na]
at clojure.lang.AFn.run(AFn.java:24) [clojure-1.4.0.jar:na]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
Caused by: java.lang.ClassNotFoundException: org.I0Itec.zkclient.serialize.ZkSerializer
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_51]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_51]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_51]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_51]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_51]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_51]
... 13 common frames omitted
5083 [Thread-26] ERROR backtype.storm.daemon.executor - 
   java.lang.NoClassDefFoundError: org/I0Itec/zkclient/serialize/ZkSerializer
at kafka.api.OffsetRequest.writeTo(OffsetRequest.scala:65) ~[kafka_2.9.2-0.7.0.jar:na]
at kafka.network.BoundedByteBufferSend.<init>(BoundedByteBufferSend.scala:43) ~[kafka_2.9.2-0.7.0.jar:na]
at kafka.consumer.SimpleConsumer.sendRequest(SimpleConsumer.scala:171) ~[kafka_2.9.2-0.7.0.jar:na]
at kafka.consumer.SimpleConsumer.liftedTree3$1(SimpleConsumer.scala:152) ~[kafka_2.9.2-0.7.0.jar:na]
at kafka.consumer.SimpleConsumer.getOffsetsBefore(SimpleConsumer.scala:151) ~[kafka_2.9.2-0.7.0.jar:na]
at kafka.javaapi.consumer.SimpleConsumer.getOffsetsBefore(SimpleConsumer.scala:66) ~[kafka_2.9.2-0.7.0.jar:na]
at storm.kafka.PartitionManager.<init>(PartitionManager.java:73) ~[kafka-1.1.jar:na]
at storm.kafka.StaticCoordinator.<init>(StaticCoordinator.java:26) ~[kafka-1.1.jar:na]
at storm.kafka.KafkaSpout.open(KafkaSpout.java:74) ~[kafka-1.1.jar:na]
at backtype.storm.daemon.executor$fn__3489$fn__3504.invoke(executor.clj:499) ~[storm-0.9.0-wip15.jar:na]
at backtype.storm.util$async_loop$fn__436.invoke(util.clj:375) ~[storm-0.9.0-wip15.jar:na]
at clojure.lang.AFn.run(AFn.java:24) [clojure-1.4.0.jar:na]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
Caused by: java.lang.ClassNotFoundException: org.I0Itec.zkclient.serialize.ZkSerializer
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_51]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_51]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_51]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_51]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_51]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_51]
... 13 common frames omitted
5090 [Thread-13-EventThread] INFO  backtype.storm.zookeeper - Zookeeper state update:     :connected:none
5090 [Thread-10-EventThread] INFO  backtype.storm.zookeeper - Zookeeper state update:     :connected:none
5101 [Thread-13] INFO  com.netflix.curator.framework.imps.CuratorFrameworkImpl - Starting
5112 [Thread-10] INFO  com.netflix.curator.framework.imps.CuratorFrameworkImpl -     Starting
5204 [Thread-26] INFO  backtype.storm.util - Halting process: ("Worker died")

у меня нет zkclient в моем файле pom

в чем может быть пробл? пожалуйста помоги


person user2728024    schedule 20.02.2014    source источник
comment
Как вы установили Kafka, Storm-Kafka? Какая версия Storm и какая версия Kafka?   -  person Chiron    schedule 20.02.2014
comment
storm-0.9.0-wip16 и kafka-0.7.2-incubating-src   -  person user2728024    schedule 20.02.2014
comment
Я считаю, что версия не будет проблемой. я выполнил программу раньше   -  person user2728024    schedule 20.02.2014
comment
Хорошо, без достаточного объяснения никто не сможет вам помочь.   -  person Chiron    schedule 20.02.2014
comment
извините.. я не знаю, что вдруг пошло не так.. это проблема с зоопарком. я использую зоопарк по умолчанию с kafka.   -  person user2728024    schedule 20.02.2014
comment
Вы создаете Jar как 1 двоичный файл?   -  person Vishal    schedule 22.02.2014


Ответы (1)


У вас должен быть zkclient.jar в папке storm lib. http://repo1.maven.org/maven2/com/101tec/zkclient/0.1.0/zkclient-0.1.0.jar должен работать. В противном случае вам следует установить более высокую версию jar. Kafka использует zkclient для связи с Zookeeper. Кстати, вам следует выбрать Kafka 0.8.0, поскольку в ней есть репликация.

person Nipun Talukdar    schedule 20.02.2014
comment
я добавил файл jar в папку storm lib .. пробовал и с разными версиями .. все та же ошибка - person user2728024; 21.02.2014
comment
Nipun, последняя версия Kafka spout, представленная в Storm Contrib, поддерживает только Kafka 0.7.0. См. документацию здесь: github.com/nathanmarz/ шторм-вклад/дерево/0.9.0-wip16b-scala292/ - person Svend; 21.02.2014
comment
@Svend Правильно. Но мы можем легко написать его сами. На самом деле, для моего текущего проекта мы используем Kafka 0.8.0 и Storm 0.9.0.1. Мы используем потребителей Kafka высокого уровня, которые заботятся о поиске лидеров, перебалансировке потребителей, поддержании тем/разделов/смещений в zookeeper и т. д. - person Nipun Talukdar; 21.02.2014
comment
Это звучит здорово! Нипун, если ваша компания решит открыть исходный код этого носика, пожалуйста, дайте мне знать, в версии 0.8 действительно есть кое-какая интересная функция, которую мы хотели бы получить :) - person Svend; 22.02.2014
comment
@Svend К сожалению, мы не можем открыть исходный код. - person Nipun Talukdar; 22.02.2014
comment
К вашему сведению, только что услышал об этом носике Kafka 0.8: github.com/wurstmeister/storm-kafka- 0,8 +  - person Svend; 27.02.2014
comment
@Svend Это действительно здорово. Но я предполагаю, что использование потребителей высокого уровня Kafka значительно упростит материал. - person Nipun Talukdar; 27.02.2014