我正在使用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发表了一个尖锐的问题:分布式模式
任何指针都适用
答案 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