6.5. 部署 Kafka MirrorMaker
Cluster Operator 部署一个或多个 Kafka MirrorMaker 副本,以便在 Kafka 集群间复制数据。这个过程被称为 mirroring,以避免与 Kafka 分区复制概念混淆。MirrorMaker 使用来自源集群的消息,并将这些消息重新指向目标集群。
6.5.1. 将 Kafka MirrorMaker 部署到 OpenShift 集群中 复制链接链接已复制到粘贴板!
此流程演示了如何使用 Cluster Operator 将 Kafka MirrorMaker 集群部署到 OpenShift 集群。
部署使用 YAML 文件来提供规格,根据部署的 MirrorMaker 版本创建 KafkaMirrorMaker 或 KafkaMirrorMaker2 资源。
Kafka MirrorMaker 1 (称为文档中的 MirrorMaker )已在 Apache Kafka 3.0.0 中弃用,并将在 Apache Kafka 4.0.0 中删除。因此,在 AMQ Streams 中还已弃用了用于部署 Kafka MirrorMaker 1 的 KafkaMirrorMaker 自定义资源。当使用 Apache Kafka 4.0.0 时,KafkaMirrorMaker 资源将从 AMQ Streams 中删除。作为替换,将 KafkaMirrorMaker2 自定义资源与 IdentityReplicationPolicy 搭配使用。
AMQ Streams 提供示例配置文件。在此过程中,我们使用以下示例文件:
-
examples/mirror-maker/kafka-mirror-maker.yaml -
examples/mirror-maker/kafka-mirror-maker-2.yaml
流程
将 Kafka MirrorMaker 部署到 OpenShift 集群中:
对于 MirrorMaker:
oc apply -f examples/mirror-maker/kafka-mirror-maker.yaml
oc apply -f examples/mirror-maker/kafka-mirror-maker.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 MirrorMaker 2:
oc apply -f examples/mirror-maker/kafka-mirror-maker-2.yaml
oc apply -f examples/mirror-maker/kafka-mirror-maker-2.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查部署的状态:
oc get pods -n <my_cluster_operator_namespace>
oc get pods -n <my_cluster_operator_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出显示部署名称和就绪度
NAME READY STATUS RESTARTS my-mirror-maker-mirror-maker-<pod_id> 1/1 Running 1 my-mm2-cluster-mirrormaker2-<pod_id> 1/1 Running 1
NAME READY STATUS RESTARTS my-mirror-maker-mirror-maker-<pod_id> 1/1 Running 1 my-mm2-cluster-mirrormaker2-<pod_id> 1/1 Running 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow my-mirror-maker是 Kafka MirrorMaker 集群的名称。my-mm2-cluster是 Kafka MirrorMaker 2 集群的名称。pod ID 标识创建的每个 pod。
使用默认部署,您要安装单个 MirrorMaker 或 MirrorMaker 2 pod。
READY显示就绪/预期的副本数。当STATUS显示为Running时,部署可以成功。