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.
>

Reply via email to