Kafka-MongoDB Debezium连接器:分布式模式

时间:2020-01-10 00:12:15

标签: apache-kafka apache-kafka-connect debezium mongodb-kafka-connector

我正在使用debezium mongodb源连接器。是否可以通过将kafka引导程序服务器地址指定为远程计算机(在Kubernetes中部署)和远程MongoDB url,以分布式模式在本地计算机上运行连接器?

我尝试了这个,我看到连接器成功启动,没有错误,只有很少的警告,但没有数据从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)

我还在/etc/kafka/connect-mongodb-source.properties中定义了MongoDB配置,如下所示

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 Connector发表了一个尖锐的问题:分布式模式

任何指针都适用

1 个答案:

答案 0 :(得分: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