Kafka-MongoDB Debezium Connector: распределенный режим

Я работаю над разъемом источника debezium mongodb. Могу ли я запустить коннектор на локальном компьютере в распределенном режиме, указав адрес сервера начальной загрузки kafka в качестве удаленного компьютера (развернутого в Kubernetes) и удаленного URL-адреса MongoDB?

Я попробовал это и вижу, что коннектор запускается успешно, ошибок нет, только несколько предупреждений, но данные от mongodb не поступают.

Используя команду ниже для запуска коннектора

./bin/connect-distributed ./etc/schema-registry/connect-avro-distributed.properties ./etc/kafka/connect-mongodb-source.properties

Если нет, то как еще я могу этого добиться, я не хочу устанавливать локальную kafka или mondoDB, как предлагает большая часть руководства. Я хочу использовать для этого наши тестовые серверы.

Следуйте инструкциям ниже для этого : https://medium.com/tech-that-works/cloud-kafka-connector-for-mongodb-source-8b525b779772

Ниже приведены более подробные сведения о проблеме. Коннектор работает нормально, я вижу строки ниже в конце журнала коннектора.

 INFO [Worker clientId=connect-1, groupId=connect-cluster] Starting connectors and tasks using config offset -1 (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1000)
] INFO [Worker clientId=connect-1, groupId=connect-cluster] Finished starting connectors and tasks (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1021)

Я также определил конфигурацию MongoDB в /etc/kafka/connect-mongodb-source.properties следующим образом

name=mongodb-source-connector 
connector.class=io.debezium.connector.mongodb.MongoDbConnector 
mongodb.hosts=/remoteserveraddress:27017 
mongodb.name=mongo_conn 
initial.sync.max.threads=1 
tasks.max=1

Но данные не передаются между MongoDB и Kafka. Я также опубликовал ответственный вопрос для этого коннектора Kafka-MongoDB Debezium: распределенный режим

Любые указатели прилагаются

1 ответ

Решение

connect-distributed принимает только один файл свойств.

Вы должны использовать REST API для настройки Kafka Connect в распределенном режиме.

https://docs.confluent.io/current/connect/references/restapi.html

Примечание: по умолчанию потребитель будет читать последние данные не по теме, а не существующие.

Вы бы добавили это в connect-avro-distributed.properties починить это

consumer.auto.offset.reset=earliest
Другие вопросы по тегам