Re: 用application mode部署应用,classloader.resolve-order参数是否必须要改为parent-first?

2021-01-27 文章 lp
谢答。查看我的pom.xml文件,和打包后的压缩包,确实包含kafka(org.apache.kafka.common)的相关依赖;所以我将相关的pom中的依赖都设置为provide,然后重新打包,并确认了我打好的jar包中不包含了任何kafka的依赖,发布运行,这次jobmanager直接报错:Caused by: java.lang.ClassNotFoundException: org.apache.flink.streaming.connectors.kafka.KafkaSerializationSchema

Re: 用application mode部署应用,classloader.resolve-order参数是否必须要改为parent-first?

2021-01-26 文章 tison
又或者是反过来。 你可以尝试把 kafka connector 放到 /libs 里,自己应用打包里不带 kafka jar 也不带 kafka connector jar,应该就可以不改配置。 Best, tison. tison 于2021年1月27日周三 下午2:47写道: > 你是打包的时候自己打了 kafka 的依赖进去吗?看起来是应用里有一个 kafka 版本 A,接口 > org.apache.kafka.common.serialization.Serializer 用应用 classloader 加载,然后 > flink kafka connector 用集群

Re: 用application mode部署应用,classloader.resolve-order参数是否必须要改为parent-first?

2021-01-26 文章 tison
你是打包的时候自己打了 kafka 的依赖进去吗?看起来是应用里有一个 kafka 版本 A,接口 org.apache.kafka.common.serialization.Serializer 用应用 classloader 加载,然后 flink kafka connector 用集群 classloader 加载,继承自集群 classloader 里的 org.apache.kafka.common.serialization.Serializer 导致这个问题。 Best, tison. lp <973182...@qq.com> 于2021年1月27日周三 下午12:39

用application mode部署应用,classloader.resolve-order参数是否必须要改为parent-first?

2021-01-26 文章 lp
我写了一个 process function的demo,自定义source产生数据sink到kafka,然后发布到yarn集群运行,flink版本是1.11.2,采用application Mode 部署,然后发现jobmanager-log报错: Failed to construct kafka producer;Caused by: org.apache.kafka.common.KafkaException: class org.apache.kafka.common.serialization.ByteArraySerializer is not an instance of or