flink:java.lang.NoClassDefFoundError: org/apache/kafka/common/errors/InvalidTxnStateException报错

报错

flink消费kafka时正常,但是向kafka生产消息时产生报错:

java.lang.NoClassDefFoundError: org/apache/kafka/common/errors/InvalidTxnStateException

排错

开始以为是jar包冲突导致,因为项目中即用到了kafka-clients,也用到flink-connector-kafka_2.11,分别排除两个依赖下的kafka-clients。

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-connector-kafka_2.11</artifactId>
			<version>${flink.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.kafka</groupId>
					<artifactId>kafka-clients</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

问题没有解决。想到我的kafka连接器用的是flink-connector-kafka_2.11,而kafka集群安装的是0.11.0版本的,官网上说flink-connector-kafka_2.11虽然会适配Kafka的最新版本,但是对于Kafka 0.11.x和0.10.x版本,建议分别使用专用的flink-connector-kafka-0.11_2.11和flink-connector-kafka-0.10_2.11。

于是修改flink-kafka连接器:

		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-connector-kafka-0.11_2.11</artifactId>
			<version>${flink.version}</version>
		</dependency>

问题解决。

PS:我的${flink.version}为1.7.0。根据你的实际情况修改版本号。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值