Используйте KafkaConnect без реестра Confluent Schema - PullRequest
0 голосов
/ 14 сентября 2018

В текущей инфраструктуре мы настроили ванильный apache Kafka, и мы начали регистрировать некоторые данные, которые мы хотим обработать, используя Kafka Connect.В настоящее время мы используем Avro для нашего формата сообщений, но в нашей инфраструктуре нет реестра Schema.В будущем мы планируем заменить текущий стек на Confluent и использовать Schema Registry и Connect, но в течение некоторого времени нам нужно для этого только развертывать Connect.

Можно ли как-то настроить приемники Connect, чтобы они использовали явные файлы или схему avsc без подключения к реестру схем и без использования формата Confluent с магическими байтами и идентификатором схемы?

Ответы [ 2 ]

0 голосов
/ 15 сентября 2018

Да, это возможно с помощью registryless-avro-converter на Github.

Следуйте инструкциям по сборке, добавьте JAR в папку plugin.path при загрузке других разъемов, затем настройте так:

key.converter=me.frmr.kafka.connect.RegistrylessAvroConverter
key.converter.schema.path=/path/to/schema/file.avsc
value.converter=me.frmr.kafka.connect.RegistrylessAvroConverter
value.converter.schema.path=/path/to/schema/file.avsc

Кроме того, вы можете настроить схемуРеестр с вашей ванильной Kafka - Нет причин делать некоторую «миграцию слияния», так как реестр не требует никаких изменений инфраструктуры, кроме ваших конфига Serializer & Deserializer.

0 голосов
/ 14 сентября 2018

Да, но вам придется реализовать собственный конвертер для обработки записей vanilla avro. Затем вы должны указать местоположение файла avsc или службу, которая может предоставить схему в конфигурации соединителя, используя пространство имен [value|key].converter.

Например, для Confluent AvroConverter требуется свойство, сообщающее ему, где находится реестр схемы:

value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schema.registry.url=http://schema-registry:8081

Таким образом, вы можете скопировать Confluent AvroConverter , но, возможно, указать путь к файлу avsc?

...