最近在做storm消费kafka中的消息
结果在本地运行storm topology的时候,报错:
NoClassDefFoundError: org/apache/kafka/common/requests/AbstractResponse
原因是:我的kafka cluster从0.8.2.1升级到了0.11.0.3,但是项目中的kafka-client.jar仍然是0.8.2.1,用旧版本的kafka-client.jar连接新版本的kafka cluster可能会发生session不断关闭的情况,因为0.8.2.1使用的是kafka old consumer api,而0.11.0.3使用new consumer api
解决方案就是:把旧版本kafka-client.jar删除,在intellij idea命令行使用下面命令安装0.11.0.3的kafka-client.jar
mvn dependency:get -Dartifact=org.apache.kafka:kafka-clients:0.11.0.3
项目中使用的kafka,storm及zookeeper的版本
参考:NoClassDefFoundError: org/apache/kafka/common/requests/AbstractResponse