Apache flink FlinkKafkaConsumer无法读取LZ4压缩主题

Apache flink FlinkKafkaConsumer无法读取LZ4压缩主题,apache-flink,lz4,Apache Flink,Lz4,我们有几个flink应用程序阅读卡夫卡主题,它们运行良好。但最近,我们在现有flink作业中添加了一个新主题,它在启动时立即失败,出现以下根错误: Caused by: org.apache.kafka.common.KafkaException: java.lang.NoClassDefFoundError: net/jpountz/lz4/LZ4Exception at org.apache.kafka.common.record.CompressionType$4.wrapForI

我们有几个flink应用程序阅读卡夫卡主题,它们运行良好。但最近,我们在现有flink作业中添加了一个新主题,它在启动时立即失败,出现以下根错误:

Caused by: org.apache.kafka.common.KafkaException: java.lang.NoClassDefFoundError: net/jpountz/lz4/LZ4Exception
    at org.apache.kafka.common.record.CompressionType$4.wrapForInput(CompressionType.java:113)
    at org.apache.kafka.common.record.DefaultRecordBatch.compressedIterator(DefaultRecordBatch.java:256)
    at org.apache.kafka.common.record.DefaultRecordBatch.streamingIterator(DefaultRecordBatch.java:334)
    at org.apache.kafka.clients.consumer.internals.Fetcher$PartitionRecords.nextFetchedRecord(Fetcher.java:1208)
    at org.apache.kafka.clients.consumer.internals.Fetcher$PartitionRecords.fetchRecords(Fetcher.java:1245)
    ... 7 more
我发现这个主题有lz4压缩,我猜弗林克因为某种原因无法使用它。将lz4依赖项直接添加到应用程序中不起作用,奇怪的是,它在本地运行良好,但在远程集群上失败

flink运行时版本为1.9.1,我们的应用程序中所有其他依赖项的版本都相同: flink-streaming-java_2.11、flink-connector-kafka_2.11、flink java和flink-clients_2.11


这可能是因为flink不依赖内部的lz4库吗?

找到了解决方案。不需要进行版本升级,也不需要对应用程序本身附加依赖项。我们的解决方法是将lz4库jar直接添加到Docker图像中的flink libs文件夹中。此后,lz4压缩错误消失。

找到了解决方案。不需要进行版本升级,也不需要对应用程序本身附加依赖项。我们的解决方法是将lz4库jar直接添加到Docker图像中的flink libs文件夹中。之后,lz4压缩的错误消失了