Adding a connector to Kafka Connect

2020-03-26 12:38发布

I am using Confluent Kafka Docker image, specifically using this: https://github.com/confluentinc/cp-docker-images/tree/4.0.x/examples/cp-all-in-one

I want to add the MySQL connector, by:

Basically, extrapolating the part of interest form the compose file, this is the important snippet:

environment:
  <cut>
  CONNECT_PLUGIN_PATH: '/etc/kafka-connect/jars/'
volumes:
  - "./mysql_connector:/etc/kafka-connect/jars/"

The JAR is correctly present in the Docker container.

But, of course, if I try to use the connector, I can't find in the list of the enabled connectors. If I go to control center, I see:

[{
    "class": "org.apache.kafka.connect.file.FileStreamSinkConnector",
    "type": "sink",
    "version": "1.0.0-cp1"
}, {
    "class": "org.apache.kafka.connect.file.FileStreamSourceConnector",
    "type": "source",
    "version": "1.0.0-cp1"
}]

1条回答
Lonely孤独者°
2楼-- · 2020-03-26 12:57

Your plugin path needs to contain the path to the actual JDBC Connect JAR files as well as the MySQL JAR

If you mount the MySQL JAR under this path

/usr/share/java/kafka-connect-jdbc

Then set the CONNECT_PLUGIN_PATH=/usr/share/java, then you have access to all bundled connectors. And the JDBC Connector will be able to read/write MySQL data.

查看更多
登录 后发表回答