【问题标题】:Kafka Conenct: Automatically terminating after processing all dataKafka Connect:处理完所有数据后自动终止
【发布时间】:2018-07-31 12:44:00
【问题描述】:

我想使用 Kafka Connect 将 Kafka 主题中的大量数据备份和恢复到不同的目的地(文件、另一个主题、S3...)。但是,它以流模式运行,因此永远不会终止。但在我的场景中,它应该在处理完当前主题中的所有数据后自动退出(在我的上下文中确保所有生产者在备份开始之前都已关闭)。

是否有任何选项/参数可以使 Kafka Connect 连接器在处理完所有当前数据后自动终止,例如存储在文件中?

【问题讨论】:

    标签: apache-kafka apache-kafka-connect


    【解决方案1】:

    AFAIK 没有这样的选项。您可以在 Kafka Connect group.id 上创建“看门狗”检查滞后,一旦滞后被处理,例如= 0,你关闭进程。

    正如我们在公司中所做的那样:我们开始让消费者每 3-6 小时处理一次消息以处理滞后、创建文件然后终止。文件正在上传到其他目的地。

    【讨论】:

    • 谢谢,我也想做,但是,如果延迟从未达到零会发生什么(例如,许多快速生产者和通过慢速上传备份到 S3)。因此,我们现在正在尝试构建一个监视偏移量的看门狗。
    • 已经有该bin/kafka-consumer-groups.sh --zookeeper localhost:2181 --describe --group <group name> 的脚本,从这一点来说,实现简单的 bash/python 脚本非常容易。解析值并根据偏移量采取行动。
    • 尽管您关闭了进程,但 flush.size 的记录数量是否仍位于 Connect 消费者的内存中,而不是写入目标?
    猜你喜欢
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多