Flink出现Caused by: java.lang.LinkageError: loader constraint violation错误,这是由于Flink的包加载机制引起的。
原因: 类加载顺序问题,可以在flink-conf.yaml中加入
classloader.resolve-order: parent-first
Flink的默认加载是child-first。
但是用了parent-first配置有可能出现类冲突问题。解决办法只针对个别包出来,不要一律用parent-first, 配置如下:
classloader.parent-first-patterns.additional: javax.script; jdk;
这个配置只针个别有问题的包处理,不会对全局造成影响。