Caused by: java.lang.ClassCastException: cannot assign instance of org.apache.kafka.clients.consumer

报错:Caused by: java.lang.ClassCastException: cannot assign instance of org.apache.kafka.clients.consumer.OffsetResetStrategy to field org.apache.flink.connector.kafka.source.enumerator.initializer.ReaderHandledOffsetsInitializer.offsetResetStrategy of type org.apache.kafka.clients.consumer.OffsetResetStrategy in instance of org.apache.flink.connector.kafka.source.enumerator.initializer.ReaderHandledOffsetsInitialize

报错起因

flink任务描述:flink消费kafka数据,并开启检查点
作业提交:提交flink 任务到YARN,出现报错。

详细报错内容

2024-07-25 17:00:45
org.apache.flink.runtime.client.JobInitializationException: Could not start the JobMaster.
	at org.apache.flink.runtime.jobmaster.DefaultJobMasterServiceProcess.lambda$new$0(DefaultJobMasterServiceProcess.java:97)
	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774)
	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1609)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.CompletionException: java.lang.RuntimeException: org.apache.flink.runtime.JobException: Cannot instantiate the coordinator for operator Source: kafkasource -> Map -> (Sink: Unnamed, Sink: Print to Std. Out)
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1606)
	... 3 more
Caused by: java.lang.RuntimeException: org.apache.flink.runtime.JobException: Cannot instantiate the coordinator for operator Source: kafkasource -> Map -> (Sink: Unnamed, Sink: Print to Std. Out)
	at org.apache.flink.util.ExceptionUtils.rethrow(ExceptionUtils.java:321)
	at org.apache.flink.util.function.FunctionUtils.lambda$uncheckedSupplier$4(FunctionUtils.java:114)
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
	... 3 more
Caused by: org.apache.flink.runtime.JobException: Cannot instantiate the coordinator for operator Source: kafkasource -> Map -> (Sink: Unnamed, Sink: Print to Std. Out)
	at org.apache.flink.runtime.executiongraph.ExecutionJobVertex.<init>(ExecutionJobVertex.java:182)
	at org.apache.flink.runtime.executiongraph.ExecutionJobVertex$Factory.createExecutionJobVertex(ExecutionJobVertex.java:671)
	at org.apache.flink.runtime.executiongraph.DefaultExecutionGraph.attachJobVertices(DefaultExecutionGraph.java:860)
	at org.apache.flink.runtime.executiongraph.DefaultExecutionGraph.attachJobGraph(DefaultExecutionGraph.java:833)
	at org.apache.flink.runtime.executiongraph.DefaultExecutionGraphBuilder.buildGraph(DefaultExecutionGraphBuilder.java:221)
	at org.apache.flink.runtime.scheduler.DefaultExecutionGraphFactory.createAndRestoreExecutionGraph(DefaultExecutionGraphFactory.java:173)
	at org.apache.flink.runtime.scheduler.SchedulerBase.createAndRestoreExecutionGraph(SchedulerBase.java:381)
	at org.apache.flink.runtime.scheduler.SchedulerBase.<init>(SchedulerBase.java:224)
	at org.apache.flink.runtime.scheduler.DefaultScheduler.<init>(DefaultScheduler.java:140)
	at org.apache.flink.runtime.scheduler.DefaultSchedulerFactory.createInstance(DefaultSchedulerFactory.java:162)
	at org.apache.flink.runtime.jobmaster.DefaultSlotPoolServiceSchedulerFactory.createScheduler(DefaultSlotPoolServiceSchedulerFactory.java:121)
	at org.apache.flink.runtime.jobmaster.JobMaster.createScheduler(JobMaster.java:379)
	at org.apache.flink.runtime.jobmaster.JobMaster.<init>(JobMaster.java:356)
	at org.apache.flink.runtime.jobmaster.factories.DefaultJobMasterServiceFactory.internalCreateJobMasterService(DefaultJobMasterServiceFactory.java:128)
	at org.apache.flink.runtime.jobmaster.factories.DefaultJobMasterServiceFactory.lambda$createJobMasterService$0(DefaultJobMasterServiceFactory.java:100)
	at org.apache.flink.util.function.FunctionUtils.lambda$uncheckedSupplier$4(FunctionUtils.java:112)
	... 4 more
Caused by: java.lang.ClassCastException: cannot assign instance of org.apache.kafka.clients.consumer.OffsetResetStrategy to field org.apache.flink.connector.kafka.source.enumerator.initializer.ReaderHandledOffsetsInitializer.offsetResetStrategy of type org.apache.kafka.clients.consumer.OffsetResetStrategy in instance of org.apache.flink.connector.kafka.source.enumerator.initializer.ReaderHandledOffsetsInitializer
	at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2302)
	at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1432)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2371)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2289)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2147)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1646)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2365)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2289)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2147)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1646)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2365)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2289)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2147)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1646)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:482)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:440)
	at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:539)
	at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:527)
	at org.apache.flink.util.SerializedValue.deserializeValue(SerializedValue.java:67)
	at org.apache.flink.runtime.operators.coordination.OperatorCoordinatorHolder.create(OperatorCoordinatorHolder.java:496)
	at org.apache.flink.runtime.executiongraph.ExecutionJobVertex.createOperatorCoordinatorHolder(ExecutionJobVertex.java:294)
	at org.apache.flink.runtime.executiongraph.ExecutionJobVertex.<init>(ExecutionJobVertex.java:173)
	... 19 more

解决方案

修改flink配置文件:
注意:如果flink版本在1.19以下修改flink-conf.yaml配置文件
如果flink版本在1.19以上,修改config.yaml文件

echo 'classloader.resolve-order: parent-first'  >>  */flink/conf/flink-conf.yaml
根据提供的引用内容,报错信息显示了一个`java.lang.ClassNotFoundException`异常,异常信息中指出了缺少`org.apache.commons.logging.Log`类。这个异常通常发生在Java应用程序中,当应用程序无法找到所需的类时会抛出该异常。 对于你提到的`Caused by: java.lang.ClassNotFoundException: org.apache.kafka.common.serialization.ExtendedDeserializer`异常,它表示在你的应用程序中无法找到`org.apache.kafka.common.serialization.ExtendedDeserializer`类。这可能是由于缺少相关的依赖库或配置问题导致的。 解决这个问题的方法是确保你的应用程序的类路径中包含了所需的类。你可以尝试以下几种方法来解决这个问题: 1. 确保你的项目中包含了`org.apache.commons.logging.Log`类的依赖库。你可以在项目的构建文件(如`pom.xml`或`build.gradle`)中添加相关的依赖项,以确保该类可用。 2. 检查你的应用程序的配置文件,确保正确配置了相关的类路径。你可以查看应用程序的启动脚本或配置文件,例如`catalina.sh`或`web.xml`,以确保正确设置了类路径。 3. 如果你使用的是Java开发工具(如Eclipse或IntelliJ IDEA),请确保你的项目设置中包含了所需的类。你可以检查项目的构建路径或依赖项设置,以确保相关的类被正确引入。 请注意,具体的解决方法可能因你的应用程序和环境而异。如果以上方法都无法解决问题,你可能需要进一步调查并查找其他可能的原因。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值