虽然开始卡夫卡嘴的拓扑结构,新的卡夫卡版本2.1.0和风暴1.2.2版本得到了java.lang.ClassNotFoundException:kafka.api.OffsetRequest。当我用卡夫卡版本0.10.0.1我不明白这一点。你们能帮帮我想上最新版本的卡夫卡?
我已经尝试了所有最新版本的卡夫卡开始2 *。抛出java.lang.ClassNotFoundException::但不是它的works.Caused kafka.api.OffsetRequest
kafka.api
是老Scala类。 Many of these were removed in Kafka 2.x
大多数这些类的被转移到org.apache.kafka.common.requests
,并有ListOffsetRequest
和OffsetFetchRequest
,所以不知道你正在尝试使用。
如果风暴本身取决于这些旧的API,那么你绑定到这些,你自己的处理器不能使用新的API。
另外,卡夫卡服务器版本本身只支持这些新的请求类的某些API调用。
添加到this answer,我怀疑您使用的是卡夫卡整合storm-kafka
库。您需要迁移到storm-kafka-client
,这是基于新的卡夫卡的API。新模块的文档可以找到here。
如果您需要提交的抵消storm-kafka
迁移,你可以在https://github.com/apache/storm/tree/master/external/storm-kafka-migration使用该实用程序。它可以让你无需重新开始你的卡夫卡分区迁移。