java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ser.FilterProvider when flink boot up java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ser.FilterProvider when flink boot up kubernetes kubernetes

java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ser.FilterProvider when flink boot up


I too suffered from this bug. The issue here is that when the task manager and job managers start they are running with a modified classpath, not the JAR that you've built via your build system.

See the constructFlinkClassPath in the flink source code. To prove this out, revert the JSON logging pattering and check out the classpath in the tm/jm logs on startup. You'll notice that your JAR isn't on the classpath.

To fix this issue you need to provide the dependencies (in this case you'll need jackson-core jackson-annotations and jackson-databind) to the lib folder within the tm/jm nodes (the lib folder is included by default in the flink classpath).

If you are using docker, you can do this when you build the container (RUN wget...).