vim kafka-mirrormaker2.yaml
apiVersion: kafka.strimzi.io/v1
kind: KafkaMirrorMaker2
metadata:
name: msk-mm2
namespace: kafka
spec:
replicas: 1
version: 4.3.1
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
cpu: 1000m
memory: 1Gi
target:
alias: local
bootstrapServers: mq-kafka-bootstrap.kafka.svc.cluster.local:9092
groupId: msk-mm2-group
configStorageTopic: msk-mm2-configs
offsetStorageTopic: msk-mm2-offsets
statusStorageTopic: msk-mm2-status
mirrors:
- source:
alias: msk
bootstrapServers: b-3.subotizprodmsk.hb7y9u.c1.kafka.us-west-2.amazonaws.com:9092,b-1.subotizprodmsk.hb7y9u.c1.kafka.us-west-2.amazonaws.com:9092,b-2.subotizprodmsk.hb7y9u.c1.kafka.us-west-2.amazonaws.com:9092
topicsPattern: ".*"
topicsExcludePattern: "__.*,mm2-.*,.*\\.internal,.*\\.replica"
groupsPattern: ".*"
sourceConnector:
tasksMax: 4
config:
replication.policy.class: org.apache.kafka.connect.mirror.IdentityReplicationPolicy
sync.topic.acls.enabled: "false"
sync.topic.configs.enabled: "false"
consumer.auto.offset.reset: "earliest"
# 业务 topic 建在本地(3 broker)
replication.factor: 3
# offset-syncs 建在 MSK(仅 2 broker),RF 必须 ≤ 2
offset-syncs.topic.replication.factor: 2
checkpointConnector:
tasksMax: 4
config:
replication.policy.class: org.apache.kafka.connect.mirror.IdentityReplicationPolicy
sync.group.offsets.enabled: "true"
sync.group.offsets.interval.seconds: 10
emit.checkpoints.interval.seconds: 10
refresh.groups.interval.seconds: 30
# checkpoints 建在本地(3 broker)
checkpoints.topic.replication.factor: 3