【问题标题】:how to write kafka to kafka sink connector如何将kafka写入kafka sink连接器
【发布时间】:2019-12-20 21:40:47
【问题描述】:

我正在尝试使用 kafka 镜像。我发现了这个开源 [Comcast]:https://github.com/Comcast/MirrorTool-for-Kafka-Connect,它在从源 kafka 主题检索数据并将其写入目标 kafka 主题时成功运行。现在我需要从目标 kafka 主题下沉并将其写入源 kafka。我该怎么做,请建议参考。

我写了 kafkaSinkTask 文件。在 put 方法中,我能够从目标 kafka 获取主题。所以我不知道如何将这个主题写到 source kfafa

    @Override
    public void put(Collection<SinkRecord> records) {
        if (records.isEmpty()) {
              return;
            }
            final SinkRecord first = records.iterator().next();
            final int recordsCount = records.size();
            logger.info(
                "Received {} records. First record kafka coordinates:({}-{}-{}).
                + "database...",
                recordsCount, first.topic(), first.kafkaPartition(), first.kafkaOffset()
            );  
    }

【问题讨论】:

    标签: apache-kafka apache-kafka-connect


    【解决方案1】:

    现在我需要从目标 kafka 主题下沉并将其写入源 kafka

    你不能只翻转配置文件中的源服务器和目标服务器吗? Connect 通常应该从远程集群消费并生产到本地集群(给定两个数据中心或地理上分离的网络),并将消费的偏移量存储在 Connect offsets 主题中的目的地,因此它是一个源连接器。

    您也可以尝试 MirrorMaker 2.0 - https://cwiki.apache.org/confluence/display/KAFKA/KIP-382%3A+MirrorMaker+2.0

    【讨论】:

    • 我只需要使用一个配置文件,比如 jdbc 源连接器。
    • Jdbc 连接器也有 2 个配置文件。一个启动连接服务器,另一个启动连接器。如前所述,在 Kafka 2.4 中刚刚发布的 MirrorMaker2 具有在一个文件中切换集群的能力。但也提到,有一个源连接器是有正当理由的,它决定是否/如何处理重复偏移
    • 你的意思是。只需一个配置文件,我就可以同时执行 sink 和 source 任务
    • No MirrorMaker2 仍然是源连接器类型github.com/apache/kafka/blob/trunk/connect/mirror/src/main/java/… 但它可用于在一个配置文件中定义源集群和目标集群
    猜你喜欢
    • 2020-06-11
    • 2019-07-15
    • 2019-12-20
    • 1970-01-01
    • 2019-12-23
    • 2018-04-20
    • 2019-01-21
    • 2018-06-13
    • 2018-12-29
    相关资源
    最近更新 更多