Разъем Kafka-MongoDB Debezium: распределенный режим - PullRequest
0 голосов
/ 10 января 2020

Я работаю над разъемом источника debezium mongodb. Можно ли запустить соединитель на локальном компьютере в распределенном режиме, указав адрес сервера kafka bootstrap в качестве удаленного компьютера (развернутого в 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 Ответ

1 голос
/ 10 января 2020

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

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

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

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

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

consumer.auto.offset.reset=earliest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...