0

现在,我需要将一些主题从一个 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
4

1 回答 1

0

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

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

这里还有一个简单的例子。您可以复制自己的,而不是将 CamelKafkaConnector JAR 复制到插件文件夹,但过程是相同的。

于 2020-12-21T07:55:07.600 回答