【问题标题】:ERROR backtype.storm.daemon.executor - java.lang.NoClassDefFoundError: org/I0Itec/zkclient/serialize/ZkSerializer错误 backtype.storm.daemon.executor - java.lang.NoClassDefFoundError: org/I0Itec/zkclient/serialize/ZkSerializer
【发布时间】:2014-03-21 16:38:22
【问题描述】:

我正在做卡夫卡风暴集成,在执行风暴代码时我收到此错误

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")

我的 pom 文件中没有 zkclient

可能是什么问题?请帮忙

【问题讨论】:

  • 你是如何安装 Kafka,Storm-Kafka 的?哪个 Storm 版本和哪个 Kafka 版本?
  • storm-0.9.0-wip16 和 kafka-0.7.2-incubating-src
  • 我相信版本不会有问题。我之前执行过程序
  • 好吧,没有足够的解释,没有人可以帮助你。
  • 对不起..我不知道突然出了什么问题..是动物园管理员的问题。我使用带有 kafka 的默认 Zookeeper。

标签: java apache-zookeeper apache-storm apache-kafka


【解决方案1】:

你应该在storm lib文件夹中有zkclient.jar。 http://repo1.maven.org/maven2/com/101tec/zkclient/0.1.0/zkclient-0.1.0.jar 应该可以工作。否则,您应该安装更高版本的 jar。 Kafka 使用 zkclient 与 Zookeeper 通信。顺便说一句,您应该选择 Kafka 0.8.0,因为它具有复制功能。

【讨论】:

  • 我在storm lib文件夹中添加了jar文件..也尝试了不同的版本..还是同样的错误
  • Nipun,storm contrib中提供的最新版Kafka spout只支持Kafka 0.7.0。请参阅此处的文档:github.com/nathanmarz/storm-contrib/tree/0.9.0-wip16b-scala292/…
  • @Svend 正确。但是我们可以很容易地自己写一个。实际上,对于我当前的项目,我们使用的是 Kafka 0.8.0 和 Storm 0.9.0.1。我们正在使用高级 Kafka 消费者,它负责寻找领导者、消费者重新平衡、维护 Zookeeper 上的主题/分区/偏移等。
  • 听起来很酷! Nipun,如果您的公司决定开源该 spout,请告诉我,0.8 中确实有一些很酷的功能我们希望得到您的帮助:)
  • @Svend 很遗憾,我们无法开源。
猜你喜欢
  • 2012-05-01
  • 2013-09-24
  • 2014-02-07
  • 1970-01-01
  • 1970-01-01
  • 2020-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多