Flink提交任务命令执行错误NoSuchMethodError

#Flink常见故障 #大数据 #生产环境真实案例 #Flink #流式计算 #流批一体 #整理 #经验总结

说明:此篇总结Flink常见故障案例处理方案 结合自身经历 总结不易 +关注 +收藏 欢迎留言

更多Flink案例汇总方案 解决方案:Flink业务常见故障多案例解决方案

Flink提交任务命令执行错误NoSuchMethodError

问题

使用flink run命令提交任务时报错,报错如下:

java.lang.NoSuchMethodError: org.apache.flink.table.api.Types.STRING()Lorg/apache/flink/api/common/typeinfo/TypeInformation;
 at SqlJoinWithSocket.main(SqlJoinWithSocket.java:22)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)

原因

该错误通常是Flink任务Jar包在编译时引用的Jar包与运行使用的jar不一致所致。

解决方法

方法1:

  1. 在conf/flink-conf.yaml文件中新增参数classloader.resolve-order,调整Jar包加载顺序。

  2. 重新提交任务。

方法2:

  1. 在业务pom.xm的构建命令中明确排除冲突的Jar包。

  2. 重新提交任务。

最后

谢谢大家 @500佰

你可能感兴趣的:(Flink线上问题处理方案,flink,大数据,云计算,运维)