JDBC Kafka Connector 可以从多个数据库拉取数据吗?

Can the JDBC Kafka Connector pull data from multiple databases?

我想设置一个 JDBC Kafka 连接器集群,并将它们配置为从同一主机上的多个数据库 运行 中提取数据。

我一直在查看 Kafka Connect 文档,似乎在您配置 JDBC 连接器后它只能从单个数据库中提取数据。

谁能证实这一点?

取决于您启动 worker 的模式(独立或分布式):

在独立模式下,您可以使用以下命令启动多个jdbc连接器:

bin/connect-standalone worker.properties connector1.properties [connector2.properties connector3.properties ...]

其中每个 connector.properties 匹配一个数据库。

此处有更多详细信息:Running workers

在分布式模式下,首先启动workers:

 bin/connect-distributed worker.properties

然后使用 POST http 请求推送每个配置,例如:

$ curl -X POST -H "Content-Type: application/json" --data '{"name": "jdbc-source", "config": {"connector.class":"JdbcSourceConnector", "tasks.max":"1", "connection.url":"jdbc:sqlite:test.db", "topic.prefix":"connect-jdbc-test-", "mode":"bulk" }}' http://worker_host:8083/connectors

或者,使用包含 JSON 格式配置的文件

$ curl -X POST -H "Content-Type: application/json" --data @config.json http://worker_host:8083/connectors