我有一个Flink流媒体程序,可以读取Kafka主题的数据。在程序中,auto.offset.reset设置为“最小”。在IDE / Intellij-IDEA中进行测试时,程序始终可以从主题的开头读取数据。然后我建立了一个flink / kafka集群,并将一些数据生成到kafka主题中。我第一次运行流式传输作业时,它可以从主题的开头读取数据。但之后我停止了流媒体作业并再次运行它,它将不会从主题的开头读取数据。如何让程序始终从主题的开头读取数据?
long
答案 0 :(得分:0)
如果您想从头开始阅读,则需要在流上下文中禁用检查点。
同时在消费者属性级别禁用它:
enable.auto.commit = false或auto.commit.enable = false(取决于kafka版本)
另一种方式: 你可以保持ckeckpointing的故障转移但是当你需要从头开始阅读时生成新的group.id(只需要清理一下zookeeper)