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
我想设置一个 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