Kubernetes Kafka 系列|MirrorMaker 2 同步数据

一、MirrorMaker 2介绍

MirrorMaker 2(简称MM2)是Apache Kafka的一个工具,主要用于跨Kafka集群的数据复制和同步。相比早期的MirrorMaker 1(简称MM1),MirrorMaker 2在设计和功能上有了显著的提升,能够更好地适应生产环境的需求。

首先,MM2采用了并行复制的方式,能够实现高吞吐量的数据复制和同步,使得在大数据场景下也能保持高效性能。这使得MM2成为数据备份、灾难恢复、数据分析和实时处理等多种应用场景下的理想选择。

其次,MM2在数据同步方面具有很高的灵活性。它可以构建不同数据中心的主备两个集群容灾架构,实时同步两个集群的数据。当其中一个集群不可用时,可以将上面的应用程序切换到另一个集群,从而实现异地容灾功能。此外,MM2还可以将多个Kafka子集群的数据同步到一个中心Kafka集群,实现数据的汇聚。

二、mm2部署

Strimzi是一个孵化项目,旨在简化Kubernetes上Apache Kafka的部署。通过一组扩展Kubernetes API的操作符与Kafka交互,Strimzi提供了一种Kubernetes原生方式,以更轻松地在Kubernetes上配置、部署和操作Kafka。

本文简洁使用Strimzi部署mm2

具体含义理解可去官网学习

https://strimzi.io/documentation/

复制代码
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaMirrorMaker2
metadata:
  name: my-mirror-maker-2
spec:
  version: 3.7.0
  replicas: 1
  connectCluster: "cluster-b" # Must be the target custer
  clusters:
  - alias: "cluster-a" # Source cluster
    bootstrapServers: my-cluster-kafka-bootstrap:9092
  - alias: "cluster-b" # Target cluster
    bootstrapServers: 10.10.101.114:32094
    config:
      # -1 means it will use the default replication factor configured in the broker
      config.storage.replication.factor: -1
      offset.storage.replication.factor: -1
      status.storage.replication.factor: -1
  mirrors:
  - sourceCluster: "cluster-a"
    targetCluster: "cluster-b"
    sourceConnector:
      tasksMax: 1
      config:
        # -1 means it will use the default replication factor configured in the broker
        replication.factor: -1
        offset-syncs.topic.replication.factor: -1
        sync.topic.acls.enabled: "false"
        refresh.topics.interval.seconds: 600   #broker刷新间隔
    checkpointConnector:
      tasksMax: 1
      config:
        # -1 means it will use the default replication factor configured in the broker
        checkpoints.topic.replication.factor: -1
        sync.group.offsets.enabled: "false"
        refresh.groups.interval.seconds: 600
    topicsPattern: ".*"
    groupsPattern: ".*"

后续会更新,关注不迷糊

相关推荐
打工的小王10 小时前
docker(三)具体项目的部署
运维·docker·容器
有风听风有雨看雨11 小时前
【Critical】docker unauthorized 2375
docker·容器·eureka
编程彩机12 小时前
互联网大厂Java面试:从Spring Security到微服务架构场景解析
kafka·spring security·微服务架构·jwt·java面试·分布式追踪
Trank-Lw14 小时前
Docker Devcontainer 管理命令
运维·docker·容器
老百姓懂点AI15 小时前
[云原生] K8s Operator开发实战:智能体来了(西南总部)AI调度官的CRD设计与Controller实现
人工智能·云原生·kubernetes
科技观察15 小时前
告别镜像拉取困境:毫秒镜像以“正规军”姿态重塑国内Docker加速生态
运维·docker·容器
热爱生活的五柒16 小时前
docker里面的文件没有写入权限,也无法使用sudo。docker镜像里某个文件夹没有创建文件夹权限。如何解决?
运维·docker·容器
麦兜和小可的舅舅17 小时前
ClickHouse Drop Table On Cluster 故障分析和原理解析
clickhouse·kafka
愈努力俞幸运17 小时前
windows 安装 docker
windows·docker·容器
huizhixue-IT19 小时前
收藏-Kubernetes怎么从私有仓库拉取镜像?(K8S系列)
云原生·容器·kubernetes