【问题标题】:Is there a way to add transformers to Kafka Strimzi MirrorMaker2?有没有办法将变压器添加到 Kafka Strimzi MirrorMaker2?
【发布时间】:2020-11-20 15:22:18
【问题描述】:

现在,我需要将一些主题从一个 Kafka 集群复制到另一个,但在第二个中我需要以另一种格式。我们在 Kubernetes 中使用 Strimzi。在某些连接器中可以做这样的事情,但我不确定 MirrorMaker2 是否允许我们这样做,因为它基于 Kafka Connect:

apiVersion: kafka.strimzi.io/v1alpha1
kind: KafkaConnector
metadata:
  name: sample-connector
spec:
  class: com.sample.SampleConnector
  tasksMax: 2
  config:
    ...
    transforms: TimestampConversion,RectificationDateTimeConversion
    transforms.TimestampConversion.type: org.apache.kafka.connect.transforms.TimestampConverter$Value
    transforms.TimestampConversion.format: yyyy-MM-dd HH:mm:ss.SSS
    transforms.TimestampConversion.field: timestamp
    transforms.TimestampConversion.target.type: string
    transforms.RectificationDateTimeConversion.type: org.apache.kafka.connect.transforms.TimestampConverter$Value
    transforms.RectificationDateTimeConversion.format: yyyy-MM-dd HH:mm:ss.SSS
    transforms.RectificationDateTimeConversion.field: rectificationDateTime
    transforms.RectificationDateTimeConversion.target.type: string

【问题讨论】:

  • 对我来说看起来不错。有什么问题?
  • 它对我不起作用
  • 我已经能够在包括 MM2 在内的所有连接器中正常使用转换...也许是 Strimzi / kube-yaml 没有正确传递属性。我建议使用 Connect REST API 来检查并确定加载了哪些属性

标签: apache-kafka replication apache-kafka-connect apache-kafka-mirrormaker strimzi


【解决方案1】:

MirrorMaker2 (MM2) 确实基于 KafkaConnect,但它用于在 Kafka 集群之间以主动/被动(单向复制)或主动/主动模式(双向复制)镜像数据。

您真正需要的是部署 KafkaConnect 集群,然后使用转换添加您的自定义连接器插件。为了能够做到这一点,您需要从 Strimzi 开始构建一个自定义图像,as documented

还有一个simple example here。您可以复制自己的,而不是将 CamelKafkaConnector JAR 复制到插件文件夹,但过程是相同的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 2022-01-13
    • 2017-09-24
    相关资源
    最近更新 更多