有没有办法在Kafka Strimzi MirrorMaker2中添加转换器



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

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

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

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

最新更新