gpt4 book ai didi

java - Kafka + Storm - 满足依赖关系

转载 作者:太空宇宙 更新时间:2023-11-04 13:47:20 24 4
gpt4 key购买 nike

我正在尝试将我的第一个拓扑部署到 Storm 集群,作为我公司评估的一部分。拓扑只是从kafka获取值并将它们放入cassandraredis中。

在复制大量 .jar 文件以尝试满足各种依赖项后,我遇到了一个问题,storm 声称缺少依赖项,但日志中的启动类列表显示该类可用。

异常(exception)情况如下:

java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
at kafka.utils.Pool.(Pool.scala:28) ~[kafka_2.10-0.8.1.1.jar:na]
at kafka.consumer.FetchRequestAndResponseStatsRegistry$. ~[kafka_2.10-0.8.1.1.jar:na]
at kafka.consumer.FetchRequestAndResponseStatsRegistry$.(FetchRequestAndResponseStats.scala) ~[kafka_2.10-0.8.1.1.jar:na]
at kafka.consumer.SimpleConsumer.(SimpleConsumer.scala:39) ~[kafka_2.10-0.8.1.1.jar:na]
at kafka.javaapi.consumer.SimpleConsumer.(SimpleConsumer.scala:34) ~[kafka_2.10-0.8.1.1.jar:na]
at storm.kafka.DynamicPartitionConnections.register(DynamicPartitionConnections.java:60) ~[storm-kafka-0.9.4.jar:0.9.4]
at storm.kafka.PartitionManager.(PartitionManager.java:64) ~[storm-kafka-0.9.4.jar:0.9.4]
at storm.kafka.ZkCoordinator.refresh(ZkCoordinator.java:98) ~[storm-kafka-0.9.4.jar:0.9.4]
at storm.kafka.ZkCoordinator.getMyManagedPartitions(ZkCoordinator.java:69) ~[storm-kafka-0.9.4.jar:0.9.4]
at storm.kafka.KafkaSpout.nextTuple(KafkaSpout.java:135) ~[storm-kafka-0.9.4.jar:0.9.4]
at backtype.storm.daemon.executor$fn__4654$fn__4669$fn__4698.invoke(executor.clj:565) ~[storm-core-0.9.4.jar:0.9.4]
at backtype.storm.util$async_loop$fn__458.invoke(util.clj:463) ~[storm-core-0.9.4.jar:0.9.4]
at clojure.lang.AFn.run(AFn.java:24) [clojure-1.5.1.jar:na] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]

Caused by: java.lang.ClassNotFoundException: scala.collection.GenTraversableOnce$class at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_45]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_45]

当我查看主管线程的启动信息时,我看到:

2015-06-07T07:55:19.941-0700 o.a.z.ZooKeeper [INFO] Client environment:java.class.path= ... /usr/local/src/apache-storm-0.9.4/lib/scala-library-2.11.6.jar: ...

当我打开此文件时,我看到此条目:

-rwxrwxrwx 0 0 0 0 Mar 18 2014 scala/collection/GenTraversableOnce.class

所以还有其他问题。我在这里错过了哪些步骤?

注意:来自 org/jboss/netty/channel/ChannelFactory 的类似问题..

最佳答案

Kafka 版本指定它是针对哪个 Scala 版本构建的。

Scala 2.10 - kafka_2.10-0.9.0.1.tgz (asc, md5)

Scala 2.11 - kafka_2.11-0.9.0.1.tgz (asc, md5)

我犯了一个错误,将 Scala 2.10 与 kafka 2.11 一起使用。我能够通过将我的 Maven 依赖项更正为正确的 scala 和 kafka 组合来解决此问题。

关于java - Kafka + Storm - 满足依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30700813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com