最近我在梳理这部分的代码,刚好看到这个邮件就敦促这写了这篇小短文 https://zhuanlan.zhihu.com/p/93374622
简要介绍了我理解的
FLINK 依赖上传和加载的过程

过程中发现官方文档中有一节
https://ci.apache.org/projects/flink/flink-docs-stable/monitoring/debugging_classloading.html
 已经把很多设计原则和坑都列出来了,不妨一看

Best,
tison.


巫旭阳 <[email protected]> 于2019年11月23日周六 下午9:19写道:

> 感谢回答
>  出现这个问题也是因为我把flink connect 的jar包打成lib 放在flink 和 hadoop
> 的classpath下面(缩小打出来的应用程序包),出现这个报错。我大概理解这个class加载的意思了。
> 在 2019-11-23 17:16:51,"1193216154" <[email protected]> 写道:
> >parent&nbsp; first就是先加载环境的jar包,再加载用户的jar包(就是自己写的flink程序),children&nbsp;
> first就是反过来。flink默认配置是chikdren&nbsp;
> first,建议不要动这个配置。而是检查一下自己的flink程序的pom依赖和flink&nbsp; lib下面的jar包有没有冲突
> >
> >
> >
> >
> >
> >---原始邮件---
> >发件人: "aven.wu"<[email protected]&gt;
> >发送时间: 2019年11月23日(星期六) 下午4:57
> >收件人: "[email protected]"<[email protected]&gt;;
> >主题: Kafka库和Flink的反向类加载方法不兼容
> >
> >
> >报错如下
> >cannot assign instance of org.apache.commons.collections.map.LinkedMap to
> field
> org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase.pendingOffsetsToCommit
> of type org.apache.commons.collections.map.LinkedMap in instance of
> org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer010
> >
> >修改flink-conf.yaml
> >classloader.resolve-order: parent-first
> >
> >哪位大佬能解释一下这个反向类加载是什么意思?
> >
> >发送自Aven.wu
>

回复