This looks very odd. How do you create the fat jar? What's your Flink version?
I don't think this is a general Flink issue or else no one would be able to read from Kafka at all. On Fri, Oct 15, 2021 at 4:16 AM L. C. Hsieh <vii...@apache.org> wrote: > Hi, Flink developers, > > Does anyone encounter the following error? > > java.lang.NoClassDefFoundError: > org/apache/kafka/common/serialization/ByteArrayDeserializer > at > org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.setDeserializer(FlinkKafkaConsumer.java:322) > at > org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.<init>(FlinkKafkaConsumer.java:223) > at > org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.<init>(FlinkKafkaConsumer.java:154) > at > org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.<init>(FlinkKafkaConsumer.java:139) > at > org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.<init>(FlinkKafkaConsumer.java:108) > > If I put kafka-clients jar into Flink's lib/, Flink can find it. But if I > assembly it into the application jar, Flink cannot find it. But based on > what I read from Flink doc, Flink does "child-first" resolution on classes. > Why it cannot find kafka classes if they are in application jar?? > > I examined the application jar content. It includes these kafka classes > actually. > > I tested it with K8S session and job clusters on Flink built from current > source. Both have the same error. >