8.7. 在传统模式中使用 MirrorMaker 2.0
这个步骤描述了如何配置 MirrorMaker 2.0 以将其用于旧模式。旧模式支持 MirrorMaker 的旧版本。
MirrorMaker 脚本 /opt/kafka/bin/kafka-mirror-maker.sh 可以在传统模式下运行 MirrorMaker 2.0。
在 Apache Kafka 3.0.0 中弃用了 Kafka MirrorMaker 1(在文档中与 MirrorMaker 一样),并将在 Apache Kafka 4.0.0 中删除。因此,在 AMQ Streams 中,Kafka MirrorMaker 1 也已弃用。在我们采用 Apache Kafka 4.0.0 时,Kafka MirrorMaker 1 将从 AMQ Streams 中删除。作为替换,使用带有 IdentityReplicationPolicy 的 MirrorMaker 2.0。
先决条件
您需要当前用于 MirrorMaker 旧版本的属性文件。
-
/opt/kafka/config/consumer.properties -
/opt/kafka/config/producer.properties
流程
编辑 MirrorMaker
consumer.properties和producer.properties文件,以关闭 MirrorMaker 2.0 功能。例如:
replication.policy.class=org.apache.kafka.mirror.LegacyReplicationPolicy1 refresh.topics.enabled=false2 refresh.groups.enabled=false emit.checkpoints.enabled=false emit.heartbeats.enabled=false sync.topic.configs.enabled=false sync.topic.acls.enabled=false使用之前版本的 MirrorMaker 来保存更改并重启 MirrorMaker:
su - kafka /opt/kafka/bin/kafka-mirror-maker.sh \ --consumer.config /opt/kafka/config/consumer.properties \ --producer.config /opt/kafka/config/producer.properties \ --num.streams=2consumer属性提供源集群和producer属性的配置,提供目标集群配置。MirrorMaker 设置集群之间的连接。
在目标集群中启动 ZooKeeper 和 Kafka:
su - kafka /opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.propertiessu - kafka /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties对于目标集群,验证主题是否被复制:
/opt/kafka/bin/kafka-topics.sh --bootstrap-server <broker_address> --list