MongoDB Apache Kafka 的官方 MongoDB 源连接器 MongoDB-4.0

Official MongoDB Source Connector for Apache Kafka with MongoDB-4.0

我有一个要求,我必须捕获 MongoDB ChangeStream(inserts/updates 等)事件并采取一些行动(保存到 OracleDB)。 我想到了这个设计,好像还不错:

"MongoDB-ChangeStream" --> "MongoDB Source Connector for Apache Kafka" --> "Kafka Broker-Topic" --> "Java Service" --> OracleDB

我的问题是,我使用的是 MongoDB-4.0,而 "MongoDB Source Connector for Apache Kafka" 是在 MongoDB-4.2 中引入的。我还能在 MongoDB-4.0 中使用 "MongoDB Source Connector for Apache Kafka" 吗?

MongoDB Apache Kafka 的源连接器 - 官方页面: https://www.confluent.io/hub/mongodb/kafka-connect-mongodb

"MongoDB Source Connector for Apache Kafka"的官方页面没有谈到MongoDB版本的任何先决条件。

我的第二个问题,这个(MongoDB Apache Kafka 的源连接器)可以在 Windows 上设置吗?

感谢任何帮助。

答案已经在documentation:

The Kafka Source Connector requires MongoDB 3.6 or later as your data source if you are using change streams with a collection only. If you need to watch a database or deployment, you need MongoDB 4.0 or later.


关于你的第二个问题;是的,可以在 Windows.

上 运行 Kafka

MongoDB(4.0) ChangeStreams 的工作解决方案,带有 Apache Kafka 的官方 MongoDB 连接器 (mongodb-kafka-connect-mongodb-1.1.0)不使用 Confluent Hub 客户端

  1. 下载官方 MongoDB Kafka 连接器: i. open https://www.confluent.io/hub/ ii. search "mongodb" iii. select from dropdown "MongoDB Connector for Apache Kafka" iv. Click on Download in Download installtion (note I am not using Confluent) v. unzip the downloaded file (on windows) eg. F:\software\mongodb\mongodb-kafka-connect-mongodb-1.1.0 vi. inside "etc" folder open file "MongoSourceConnector.properties" vii. Make only one change with respect to MongoDB url: connection.uri=mongodb://localhost:27017,localhost:27018 viii. One change in Kafka: In F:\software\kafka_2.12-2.4.1\config\connect-standalone.properties: plugin.path=F:\software\mongodb\mongodb-kafka-connect-mongodb-1.1.0
  2. 启动动物园管理员: bin/zookeeper-server-start.sh config/zookeeper.properties
  3. 启动卡夫卡: .\bin\windows\kafka-server-start.bat .\config\server.properties

  4. 启动 Kafka-Connect: bin\windows\connect-standalone.bat config\connect-standalone.properties F:\software\mongodb\mongodb-kafka-connect-mongodb-1.1.0\etc\MongoSourceConnector.properties

  5. 将新文档添加到 MongoDB 集合,您应该会创建一个新主题 dbName.collectionName 并且 ChangeStream 事件应该出现在该主题上。