"保存在kafka中的数据用Flink读取时为什么只有第一遍能读取出来内容:这可能是因为Kafka的消费者组中的消费者在读取Kafka中的数据时出现了偏移量的问题。在Flink中,每个消费者组会有一个消费者负责读取Kafka中的数据,并将偏移量保存在外部存储系统中(例如Zookeeper或Kafka自身的__consumer_offsets主题)。\n\n当一个新的Flink应用程序启动时,它会检查消费者组的偏移量,并从上次读取的位置开始读取数据。然而,如果在读取数据的过程中,Flink应用程序发生了故障,并且在重启之前没有能够将偏移量提交到外部存储系统中,那么在重启后,Flink应用程序将从之前的偏移量位置开始再次读取数据。\n\n因此,如果在Flink应用程序重启之前没有能够将偏移量提交到外部存储系统中,那么在重启后,它将会从之前的偏移量位置开始读取数据,导致只能读取到第一遍的数据。\n\n为了解决这个问题,可以在Flink应用程序中使用checkpoint机制,将偏移量与应用程序的状态一起保存。当应用程序重启时,Flink将会从最近一次的checkpoint位置开始读取数据,确保数据的完整性和一致性。另外,还可以使用Kafka的自动提交偏移量的功能,来避免手动提交偏移量的麻烦。"


原文地址: https://www.cveoy.top/t/topic/pvXS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录