Flink存储桶接收器重新启动并保存点导致数据丢失

时间:2019-04-24 11:51:12

标签: apache hadoop hdfs apache-flink

我正在使用从Kafka到HDFS的Flink存储桶。 Flink的版本是1.4.2。

我发现每次重新启动作业都会丢失一些数据,即使保存点也是如此。

我发现,如果我设置编写器SequenceFile.CompressionType.RECORD而不是SequenceFile.CompressionType.BLOCK,则可以解决此问题。似乎当Flink尝试保存检查点时,有效长度与实际长度不同,实际长度应包含压缩数据。

但是如果由于磁盘使用情况而无法使用CompressionType.BLOCK,则可能会出现问题。重新启动作业时如何使用块压缩防止数据丢失?

这是Flink的已知问题吗?还是有人知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

不再建议使用Flink的BucketingSink。相反,社区建议使用Flink StreamingFileSink引入的1.6.0