最近我在梳理这部分的代码,刚好看到这个邮件就敦促这写了这篇小短文 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 first就是先加载环境的jar包,再加载用户的jar包(就是自己写的flink程序),children > first就是反过来。flink默认配置是chikdren > first,建议不要动这个配置。而是检查一下自己的flink程序的pom依赖和flink lib下面的jar包有没有冲突 > > > > > > > > > > > >---原始邮件--- > >发件人: "aven.wu"<[email protected]> > >发送时间: 2019年11月23日(星期六) 下午4:57 > >收件人: "[email protected]"<[email protected]>; > >主题: 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 >
