我知道如何删除这里提到的Kafka连接器Kafka Connect-如何删除连接器
但我不确定它是否也从*.sorage.topic中删除/擦除了与连接器相关的特定配置、偏移和状态?
例如:比方说,我删除了一个连接器名称为"connector-abc-1.0.0"的连接器,Kafka-connect工作程序是用以下配置启动的。
offset.storage.topic=<topic.name>.internal.offsets
config.storage.topic=<topic.name>.internal.configs
status.storage.topic=<topic.name>.internal.status
- 现在,在对该连接器进行DELETE调用后,它会删除该特定连接器的上述内部主题中的所有记录吗
- 这样我就可以在同一个worker上创建"相同名称"但配置不同的新连接器(不同的offset.start或connector.class)
删除连接器时,偏移量将保留在偏移量主题中。如果用相同的名称重新创建连接器,它将重复使用上一次执行的偏移量(即使连接器在执行过程中被删除)。
由于Kafka仅为append,因此删除那些Connect主题中的消息的唯一方法是将连接器名称作为消息键,null
作为值进行发布。
您可以使用控制台使用者来检查这些主题,以查看其中包含哪些数据(包括--property print.key=true
),并在删除连接器时保持使用者的运行。
您可以在/connectors/{name}/config
处PUT
一个新的配置,但所使用的任何特定偏移都取决于实际的连接器类型(接收器/源);例如,有Sink连接器使用的内部Kafka__consumer_offsets
主题,以及源连接器可选使用的offset.storage.topic
。
"相同名称";在相同的worker上,但配置不同(不同的offset.start或connector.class)?
考虑到以上内容,我不确定更改connector.class
是否是个好主意,因为它会完全改变连接器行为。offset.start
不是我所知道的属性,所以您需要查看该特定连接器类的文档才能知道它的作用。