我有一个要求,我必须捕获MongoDB ChangeStream(插入/更新等(事件并采取一些操作(保存到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"吗
Apache Kafka的MongoDB源连接器-官方页面:https://www.confluent.io/hub/mongodb/kafka-connect-mongodb
"Apache Kafka的MongoDB源连接器"的官方页面没有谈到MongoDB版本的任何先决条件。
我的第二个问题,这个(Apache Kafka的MongoDB源连接器(设置能在Windows上完成吗
感谢您的帮助。
答案已经在文档中了:
Kafka Source Connector需要MongoDB 3.6或更高版本作为您的数据源(如果您仅对集合使用更改流(。如果你需要监视数据库或部署,您需要MongoDB 4.0或更高版本。
关于您的第二个问题;是的,在Windows上运行Kafka是可能的。
MongoDB(4.0(ChangeStreams的工作解决方案,带有Apache kafka的官方MongoDB连接器(MongoDB-kafka-connect-MongoDB-1.1.0(,无需使用Confluent Hub客户端
- 下载官方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:softwaremongodbmongodb-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:softwarekafka_2.12-2.4.1configconnect-standalone.properties: plugin.path=F:\software\mongodb\mongodb-kafka-connect-mongodb-1.1.0
- 启动动物园管理员:
bin/zookeeper-server-start.sh config/zookeeper.properties
-
启动Kafka:
.binwindowskafka-server-start.bat .configserver.properties
-
启动Kafka Connect:
binwindowsconnect-standalone.bat configconnect-standalone.properties F:softwaremongodbmongodb-kafka-connect-mongodb-1.1.0etcMongoSourceConnector.properties
- 将新文档添加到MongoDB集合中,您应该会创建一个新的主题dbName.collectionName和ChangeStream事件