【问题标题】:Mongodb Kafka Connector how to watch multiple collectionsMongodb Kafka Connector如何查看多个集合
【发布时间】:2021-03-10 12:42:18
【问题描述】:

我正在尝试使用 Mongo Kafka 连接器捕获 MongoDb 更改数据。当我将集合名称(即 collection=collection1pipeline 设置为 [{"$match":{"operationType":{"$in":["insert","update","replace","delete"]}}}] 时,它可以工作,但是当我将集合留空并使用以下 pipeline=[{"$match": {"ns.coll": {"$regex": /^(collection1|collection2)$/}}}] 时,我无法让它工作)

这是属性文件的样子:

name=mongo-source
connector.class=com.mongodb.kafka.connect.MongoSourceConnector
tasks.max=1

# Connection and source configuration
connection.uri=mongodb://mongo1:27017,mongo2:27017,mongo3:27017
database=test
collection=

topic.prefix=
poll.max.batch.size=1000
poll.await.time.ms=5000

# Change stream options
# pipeline=[{"$match":{"operationType":{"$in":["insert","update","replace","delete"]}}}]
pipeline=[{"$match": {"ns.coll": {"$regex": /^(collection1|collection2)$/}}}]

batch.size=0
publish.full.document.only=true
change.stream.full.document=updateLookup
collation=

我在运行bin/connect-standalone.sh 时收到以下消息:

WARN Failed to resume change stream: {aggregate: 1} is not valid for '$changeStream'; a collection is required. 73

我正在使用 mongodb v3.6

【问题讨论】:

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


    【解决方案1】:

    如果您指定 database 参数,连接器预计您还将提供 collection 参数。

    事实上,如果使用 Mongo 3.6,我相信您一次只能收听一个数据库/集合组合。这在 Mongo 4.0 中发生了变化,如下所示:https://docs.mongodb.com/manual/release-notes/4.0/#change-streams

    【讨论】:

      猜你喜欢
      • 2022-08-11
      • 2017-02-04
      • 2021-08-07
      • 2020-05-02
      • 2019-05-09
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      • 2011-09-24
      相关资源
      最近更新 更多