【问题标题】:Kafka: copy topics between different versions?Kafka:在不同版本之间复制主题?
【发布时间】:2016-07-13 22:54:55
【问题描述】:

我有两个经纪人。第一次运行 0.9,第二次运行 0.10

各种工作程序和守护程序在两个代理上消费和产生消息。

对于一个应用程序,我需要来自使用 KStreams 并连接到 0.10 代理的应用程序的 0.9 主题消耗品的消息。

有没有一种直接的方法可以将一个主题从 0.9 复制到 0.10?还是使用 0.10 客户端连接到 0.9?我不想不得不将两个版本都塞进同一个罐子里。仅使用 0.10 客户端使用 0.9 代理似乎不起作用。

【问题讨论】:

    标签: apache-kafka kafka-consumer-api apache-kafka-streams


    【解决方案1】:

    一般来说,只有 Kafka 代理是向后兼容的(不是 Kafka 客户端)。因此,客户端可以连接到较新的代理,但不能连接一次。

    因为 Kafka Streams 库使用 0.10.x 客户端,所以它只适用于 0.10.x 代理。

    因此,按照此处所述升级您的代理:https://kafka.apache.org/documentation.html#upgrade 应该是最好的方法(这是安全的,因为代理向后兼容,因此不会破坏任何其他使用此代理的旧客户端的应用程序)。

    您也可以使用Mirror Maker 将主题从0.9.x 集群复制到0.10.x 集群。

    【讨论】:

      【解决方案2】:

      我的解决方案是使用 jarjar 重写 0.9 客户端 jar,以便类/类型不会与 0.10 客户端冲突。它很脏,但它可以解决 jvm 关于拥有同一个库的两个版本的意见。

      【讨论】:

        猜你喜欢
        • 2017-09-25
        • 2020-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-24
        • 1970-01-01
        • 2020-08-19
        • 2019-08-04
        相关资源
        最近更新 更多