【发布时间】:2022-01-22 04:04:38
【问题描述】:
我正在使用 hdfs kafka 连接集群,就像在分布式模式下一样。
我将rotate.interval.ms 设置为 1 小时,offset.flush.interval.ms 设置为 1 分钟。
在我的例子中,我认为当一个带有第一条记录时间戳的新记录出现时,该文件将被提交;并且偏移量将每分钟刷新一次。
但是,我想知道在文件仍然打开的情况下重新启动集群会发生什么。我的意思是,在下面的情况下会发生什么?
- 文件从带有“15:37”时间戳的记录开始打开。 (偏移 10)
- 10 分钟后,kafka-connect 集群重新启动。
- (我以为步骤1的文件会被丢弃在内存中,不会被提交到hdfs)
- 当新的worker启动时,“新打开的文件”是否会从偏移量10开始跟踪记录?
kafka-connect/kafka-connect-hdfs 是否可以防止我们丢失未提交的记录?
由于official document,我认为__consumer_offsets 在这种情况下会帮助我,但我不确定。
任何文档或 cmets 都会很有帮助!
【问题讨论】:
标签: apache-kafka apache-kafka-connect