java.lang.ClassNotFoundException:kafka.api.OffsetRequest

时间:2015-07-20 15:59:50

标签: apache-kafka apache-storm

我在尝试将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>

2 个答案:

答案 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()方法工作正常。