我在尝试将Kafka集成到我们的Storm拓扑时遇到错误java.lang.ClassNotFoundException kafka.api.OffsetRequest。 你正在运行哪些版本并且它正在运行? 我的pom.xml
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<version>0.9.2-incubating</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-kafka</artifactId>
<version>0.9.2-incubating</version>
</dependency>
答案 0 :(得分:2)
最后,我通过实现我自己的Kafka SPOUT(重用示例代码)来解决这个问题:
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<version>0.9.4</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.9.2</artifactId>
<version>0.8.1.1</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>jmxri</artifactId>
<groupId>com.sun.jmx</groupId>
</exclusion>
<exclusion>
<artifactId>jms</artifactId>
<groupId>javax.jms</groupId>
</exclusion>
<exclusion>
<artifactId>jmxtools</artifactId>
<groupId>com.sun.jdmk</groupId>
</exclusion>
</exclusions>
</dependency>
答案 1 :(得分:0)
我可以在Docker集群中成功使用kafka.api.OffsetRequest和以下示例拓扑(KafkaSpoutTestTopology): https://github.com/wurstmeister/storm-kafka-0.8-plus-test 拓扑使用storm-kafka版本0.9.3。 注意:&#34;图&#34;命令被替换为&#34; docker-compose&#34;命令。
EarliestTime()和LatestTime()方法工作正常。