首页 / 平台管理 / 应用商店管理 / Operators / 使用 Operator / Kafka / 数据镜像

数据镜像

使用 KafkaMirrorMaker 跨集群生成 Kafka 镜像数据,如遇到系统故障,可使用镜像数据进行恢复。备份完成后,源实例和目标实例间互为生产者和消费者,可相互进行通信。

  1. 配置目标实例。

    1. 部署 KafkaTopic 实例和 KafkaUser 实例

    2. 切换容器平台,记录 1 中实例对应的内部路由(Kubernetes Service)和保密字典(Kubernetes Secret)。

  2. 配置源实例。

    1. 在容器平台中,根据目标实例的信息,新增内部路由和保密字典。

    2. 切换回平台管理,从左侧导航栏中选择 应用商店管理 > Operators > 已部署 Operators > strimzi-kafka-operator 页面,部署 KafkaMirrorMaker 实例。

      apiVersion: kafka.strimzi.io/v1beta1
      kind: KafkaMirrorMaker
      metadata:
        name: my-mirror-maker
      spec:
        replicas: 3
        version: 2.5.0
        consumer:
          bootstrapServers: {源 Kafka 实例名称}-bootstrap:9092
          groupId: my-group
          numStreams: 2
          offsetCommitInterval: 120000
          tls:
            trustedCertificates:
            - secretName: {源 Kafka 实例名称}-ca-cert
              certificate: ca.crt
          authentication:
            type: tls
            certificateAndKey:
              secretName: {源 KafkaUser 实例名称}
              certificate: user.crt
              key: user.key
          config:
            max.poll.records: 100
            receive.buffer.bytes: 32768
        producer:
          bootstrapServers: {目标 Kafka 实例名称}-bootstrap:9092
          abortOnSendFailure: false
          tls:
            trustedCertificates:
            - secretName: {目标 Kafka 实例名称}-ca-cert
              certificate: ca.crt
          authentication:
            type: tls
            certificateAndKey:
              secretName: {目标 KafkaUser 实例名称}
              certificate: user.crt
              key: user.key
          config:
            compression.type: gzip
            batch.size: 8192
            ssl.endpoint.identification.algorithm: ''
        whitelist: my-topic
        resources:
          requests:
            cpu: "1"
            memory: 2Gi
          limits:
            cpu: "2"
            memory: 2Gi
  3. 参考 消息投递 ,在源 Kafka 集群上发送数据,在目标 Kafka 集群上接收数据,验证数据是否能正常传输。