Kafka Connect - Удалить коннектор с конфигами? - PullRequest
0 голосов
/ 15 января 2019

Я знаю, как удалить соединитель Kafka, как упомянуто здесь Kafka Connect - Как удалить соединитель

Но я не уверен, удаляет ли он также / стирает определенные связанные с соединителем конфиги, смещения и статус из * .sorage.topic для этого работника?

Например: Допустим, я удаляю соединитель, имеющий имя соединителя как «connector-abc-1.0.0», и Kafka connect worker был запущен со следующей конфигурацией.

offset.storage.topic=<topic.name>.internal.offsets
config.storage.topic=<topic.name>.internal.configs
status.storage.topic=<topic.name>.internal.status
  • Теперь после вызова DELETE для этого соединителя будут ли удалены все записи из внутренних разделов выше для этого конкретного соединителя?
  • Чтобы я мог создать новый соединитель с «тем же именем» на одном и том же работнике, но с другим конфигом (другой offset.start или connector.class)?

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Поскольку Kafka предназначен только для добавления, то сообщения в этих темах Conncet будут удаляться только в том случае, если они были опубликованы с именем соединителя в качестве ключа сообщения и null в качестве значения.

Вы можете просмотреть эти темы с помощью консоли потребителя, чтобы увидеть, какие данные в них содержатся, включая --property print.key=true, и поддерживать работу потребителя при удалении соединителя.

Вы можете PUT новую конфигурацию на /connectors/{name}/config, но любые конкретные смещения, которые используются, зависят от фактического типа разъема (приемник / источник); например, есть внутренняя тема Kafka __consumer_offsets, а также offset.storage.topic. Я не уверен, что изменение connector.class было бы хорошей идеей с учетом этого

0 голосов
/ 16 января 2019

При удалении соединителя смещения сохраняются в теме смещений. Если вы воссоздаете соединитель с тем же именем, он будет повторно использовать смещения из предыдущего выполнения (даже если соединитель был удален между ними).

...