我很乐意设置一个JDBC Kafka Connectors集群,并将它们配置为从同一主机上运行的多个数据库中提取。
我一直在查看Kafka Connect文档,看来在配置JDBC连接器后它只能从单个数据库中提取数据。
有人可以证实吗?
答案 0 :(得分:5)
根据您启动工作人员的模式(独立或分布式):
在独立模式下,您可以使用以下命令启动多个jdbc连接器:
bin/connect-standalone worker.properties connector1.properties [connector2.properties connector3.properties ...]
每个connector.properties与一个数据库匹配。
此处有更多详情:Running 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