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;
這個配置只針個別有問題的包處理,不會對全局造成影響。