2.6. 为 MirrorMaker 2.0 配置机架感知

现在,您可以在 MirrorMaker 2.0 资源配置中启用机架感知功能。这是专门用于 同一位置部署的专门选项,而不是跨区域部署。如果您希望从最接近的副本(而非领导副本)消耗连接器,您可以使用这个选项。

机架 配置中的 topologyKey 必须与包含机架 ID 的节点标签匹配。在以下示例中,指定了标准的 topology.kubernetes.io/zone 标签。

MirrorMaker 2.0 的机架配置

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaMirrorMaker2
metadata:
  name: my-mirror-maker2
spec:
  version: 3.2.3
  # ...
  rack:
    topologyKey: topology.kubernetes.io/zone

要使用最接近的副本,还必须在 Kafka 代理配置中启用 RackAwareReplicaSelector

带有启用副本感知选择器的 机架 配置示例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
    rack:
      topologyKey: topology.kubernetes.io/zone
    config:
      # ...
      replica.selector.class: org.apache.kafka.common.replica.RackAwareReplicaSelector
    # ...

请参阅 配置 Kafka MirrorMaker 2.0Rack schema 参考