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

时间:2020-05-08 00:07:08

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

我有一个要求,我必须捕获MongoDB ChangeStream(插入/更新等)事件并采取一些措施(保存到OracleDB)。 我认为这种设计看起来不错:

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

我的问题是,我正在使用MongoDB-4.0,而MongoDB-4.2中引入了“ Apache Kafka的MongoDB源连接器”。我仍可以在MongoDB-4.0中使用“用于Apache Kafka的MongoDB源连接器”吗?

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

“用于Apache Kafka的MongoDB源连接器”的官方页面没有谈到有关MongoDB版本的任何先决条件。

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

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

在没有使用Confluent Hub客户端的情况下,具有适用于Apache Kafka的带有官方MongoDB连接器(mongodb-kafka-connect-mongodb-1.1.0)的MongoDB(4.0)ChangeStreams的有效解决方案

  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. 启动Zookeeper: bin/zookeeper-server-start.sh config/zookeeper.properties
  3. 启动Kafka: .\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事件应该出现在该主题上。