【问题标题】:What happens when I deploy new kafka-connect cluster while file opened? (kafka-connect-hdfs)当我在文件打开时部署新的 kafka-connect 集群时会发生什么? (卡夫卡-连接-hdfs)
【发布时间】:2022-01-22 04:04:38
【问题描述】:

我正在使用 hdfs kafka 连接集群,就像在分布式模式下一样。

我将rotate.interval.ms 设置为 1 小时,offset.flush.interval.ms 设置为 1 分钟。

在我的例子中,我认为当一个带有第一条记录时间戳的新记录出现时,该文件将被提交;并且偏移量将每分钟刷新一次。

但是,我想知道在文件仍然打开的情况下重新启动集群会发生什么。我的意思是,在下面的情况下会发生什么?

  1. 文件从带有“15:37”时间戳的记录开始打开。 (偏移 10)
  2. 10 分钟后,kafka-connect 集群重新启动。
  3. (我以为步骤1的文件会被丢弃在内存中,不会被提交到hdfs)
  4. 当新的worker启动时,“新打开的文件”是否会从偏移量10开始跟踪记录?

kafka-connect/kafka-connect-hdfs 是否可以防止我们丢失未提交的记录?

由于official document,我认为__consumer_offsets 在这种情况下会帮助我,但我不确定。

任何文档或 cmets 都会很有帮助!

【问题讨论】:

    标签: apache-kafka apache-kafka-connect


    【解决方案1】:

    消费者偏移量主题用于接收器连接器,是的,如果可能,消费者将重置为最后一个未提交的偏移量。

    我认为这种行为可能在前一段时间发生了变化,但 HDFS 连接器曾经使用预写日志 (WAL) 来临时保存它在创建最终文件之前写入临时 HDFS 位置的数据。

    【讨论】:

      猜你喜欢
      • 2020-02-19
      • 2017-08-21
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      相关资源
      最近更新 更多