当我在文件打开时部署新的 kafka-connect 集群时会发生什么? (kafka-connect-hdfs)
What happens when I deploy new kafka-connect cluster while file opened? (kafka-connect-hdfs)
我正在使用 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
会在这种情况下帮助我,但我不确定。
任何文件或评论都会很有帮助!
消费者偏移量主题用于接收器连接器,是的,如果可能,消费者将重置为最后一个未提交的偏移量。
我认为行为可能在一段时间前发生了变化,但 HDFS 连接器过去使用预写日志 (WAL) 来临时保留在最终文件被写入之前写入临时 HDFS 位置的数据已创建。
我正在使用 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
会在这种情况下帮助我,但我不确定。
任何文件或评论都会很有帮助!
消费者偏移量主题用于接收器连接器,是的,如果可能,消费者将重置为最后一个未提交的偏移量。
我认为行为可能在一段时间前发生了变化,但 HDFS 连接器过去使用预写日志 (WAL) 来临时保留在最终文件被写入之前写入临时 HDFS 位置的数据已创建。