MirrorMaker2配置后同步数据至目标集群的topic都加上一个源集群别名的前缀A.
配置文件 connect-mirror-maker.properties 内容如下:
作者:呵呵哒
链接:https://www.orchome.com/17131
来源:OrcHome
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。# 集群配置
clusters = A, B# 集群A配置
A.bootstrap.servers = kafka1:9092
A->B.enabled = true # 启用从集群A到集群B的复制
A->B.topics = .* # 复制所有的主题从集群A到集群B
A->B.groups = .* # 复制所有的消费者组从集群A到集群B# 集群B配置
B.bootstrap.servers = kafka2:9092
B->A.enabled = true # 启用从集群B到集群A的复制
B->A.topics = .* # 复制所有的主题从集群B到集群A
B->A.groups = .* # 复制所有的消费者组从集群B到集群A# 复制策略配置
# replication.policy.class的取值有两个 DefaultReplicationPolicy 和 CustomReplicationPolicy
# replication.policy.class=org.apache.kafka.connect.mirror.DefaultReplicationPolicy # 这是默认值
replication.factor=1 # 复制因子,指定每个主题的复制因子# 数据检查点配置
checkpoints.topic.replication.factor=1 # 检查点主题的复制因子
heartbeats.topic.replication.factor=1 # 心跳主题的复制因子
offset-syncs.topic.replication.factor=1 # 偏移同步主题的复制因子
offset.storage.replication.factor=1 # 偏移存储的复制因子
status.storage.replication.factor=1 # 状态存储的复制因子
config.storage.replication.factor=1 # 配置存储的复制因子# 刷新配置
refresh.topics.enabled = true # 启用主题刷新
refresh.topics.interval.seconds = 3 # 刷新主题的时间间隔(秒)
refresh.groups.enabled = true # 启用消费者组刷新
refresh.groups.interval.seconds = 3 # 刷新消费者组的时间间隔(秒)# 同步配置
sync.topic.configs.enabled = true # 启用主题配置同步
sync.topic.acls.enabled = false # 启用主题ACL同步
sync.group.offsets.enabled = true # 启用消费者组偏移同步
sync.group.offsets.interval.seconds = 3 # 同步消费者组偏移的时间间隔(秒)
replication.policy.class取值有两个, 分别是 DefaultReplicationPolicy 和 CustomReplicationPolicy。
DefaultReplicationPolicy: 默认取值, 这个策略会把同步至目标集群的topic都加上一个源集群别名的前缀,比如源集群别名为A,topic为:bi-log,该topic同步到目标集群后会变成:A.bi-log,目的是为了避免双向同步的场景出现死循环, 官方的解释是为了避免在复杂的镜像拓扑中重写数据。 需要在复制流设计和主题管理方面小心自定义此项,以避免数据丢失。
如果不想自动添加前缀,需要和原来集群topic保持一致,请使用CustomReplicationPolicy。