报错如下
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 |
parent first就是先加载环境的jar包,再加载用户的jar包(就是自己写的flink程序),children first就是反过来。flink默认配置是chikdren first,建议不要动这个配置。而是检查一下自己的flink程序的pom依赖和flink lib下面的jar包有没有冲突
---原始邮件--- 发件人: "aven.wu"<[hidden email]> 发送时间: 2019年11月23日(星期六) 下午4:57 收件人: "[hidden email]"<[hidden email]>; 主题: 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 |
感谢回答
出现这个问题也是因为我把flink connect 的jar包打成lib 放在flink 和 hadoop 的classpath下面(缩小打出来的应用程序包),出现这个报错。我大概理解这个class加载的意思了。 在 2019-11-23 17:16:51,"1193216154" <[hidden email]> 写道: >parent first就是先加载环境的jar包,再加载用户的jar包(就是自己写的flink程序),children first就是反过来。flink默认配置是chikdren first,建议不要动这个配置。而是检查一下自己的flink程序的pom依赖和flink lib下面的jar包有没有冲突 > > > > > >---原始邮件--- >发件人: "aven.wu"<[hidden email]> >发送时间: 2019年11月23日(星期六) 下午4:57 >收件人: "[hidden email]"<[hidden email]>; >主题: 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 |
最近我在梳理这部分的代码,刚好看到这个邮件就敦促这写了这篇小短文 https://zhuanlan.zhihu.com/p/93374622
简要介绍了我理解的 FLINK 依赖上传和加载的过程 过程中发现官方文档中有一节 https://ci.apache.org/projects/flink/flink-docs-stable/monitoring/debugging_classloading.html 已经把很多设计原则和坑都列出来了,不妨一看 Best, tison. 巫旭阳 <[hidden email]> 于2019年11月23日周六 下午9:19写道: > 感谢回答 > 出现这个问题也是因为我把flink connect 的jar包打成lib 放在flink 和 hadoop > 的classpath下面(缩小打出来的应用程序包),出现这个报错。我大概理解这个class加载的意思了。 > 在 2019-11-23 17:16:51,"1193216154" <[hidden email]> 写道: > >parent first就是先加载环境的jar包,再加载用户的jar包(就是自己写的flink程序),children > first就是反过来。flink默认配置是chikdren > first,建议不要动这个配置。而是检查一下自己的flink程序的pom依赖和flink lib下面的jar包有没有冲突 > > > > > > > > > > > >---原始邮件--- > >发件人: "aven.wu"<[hidden email]> > >发送时间: 2019年11月23日(星期六) 下午4:57 > >收件人: "[hidden email]"<[hidden email]>; > >主题: 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 > |
Free forum by Nabble | Edit this page |