-
Go to https://www.confluent.io/download/ and download 5.1
-
Move and unpack it:
$ mv ~/Downloads/confluent-5.1.0-2.11.tar.gz ~/cp/ $ cd ~/cp $ tar -xf confluent-5.1.0-2.11.tar.gz $ pwd /Users/Robin/cp $ ls -l total 1049192 drwxr-xr-x@ 8 Robin staff 256 15 Dec 03:07 confluent-5.1.0
-
Go to https://dev.mysql.com/downloads/connector/j/ and download the JDBC driver ("Platform Independent"
mysql-connector-java-8.0.13.tar.gz
)
Log: connect-worker-trace_in_share.log
-
Unpack the driver into the correct Kafka Connect folder
$ cp ~/Downloads/mysql-connector-java-8.0.13.tar.gz /Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc $ tar -xf mysql-connector-java-8.0.13.tar.gz $ mv mysql-connector-java-8.0.13/mysql-connector-java-8.0.13.jar . $ rm mysql-connector-java-8.0.13.tar.gz $ rm -rf mysql-connector-java-8.0.13 $ pwd /Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc $ ls -l total 25112 -rw-r--r--@ 1 Robin staff 20437 15 Dec 02:00 audience-annotations-0.5.0.jar -rw-r--r--@ 1 Robin staff 20904 15 Dec 02:00 common-utils-5.1.0.jar -rw-r--r--@ 1 Robin staff 87325 15 Dec 02:00 jline-0.9.94.jar -rw-r--r--@ 1 Robin staff 317816 15 Dec 02:00 jtds-1.3.1.jar -rw-r--r--@ 1 Robin staff 214027 15 Dec 02:00 kafka-connect-jdbc-5.1.0.jar -rw-r--r--@ 1 Robin staff 2132635 27 Sep 10:18 mysql-connector-java-8.0.13.jar -rw-r--r--@ 1 Robin staff 1292696 15 Dec 02:00 netty-3.10.6.Final.jar -rw-r--r--@ 1 Robin staff 658466 15 Dec 02:00 postgresql-9.4-1206-jdbc41.jar -rw-r--r--@ 1 Robin staff 41203 15 Dec 02:00 slf4j-api-1.7.25.jar -rw-r--r--@ 1 Robin staff 7064881 15 Dec 02:00 sqlite-jdbc-3.25.2.jar -rw-r--r--@ 1 Robin staff 74798 15 Dec 02:00 zkclient-0.10.jar -rw-r--r--@ 1 Robin staff 906708 15 Dec 02:00 zookeeper-3.4.13.jar
Note that
mysql-connector-java-8.0.13.jar
is there, alongsidekafka-connect-jdbc-5.1.0.jar
. -
Increase Kafka Connect logging to DEBUG. Edit
~/cp/confluent-5.1.0/etc/kafka/connect-log4j.properties
and setlog4j.rootLogger=DEBUG, stdout
-
Start Kafka Connect and dependencies
$ cd ~/cp/confluent-5.1.0/ $ pwd /Users/Robin/cp/confluent-5.1.0 $ ./bin/confluent start connect This CLI is intended for development only, not for production https://docs.confluent.io/current/cli/index.html Using CONFLUENT_CURRENT: /var/folders/q9/2tg_lt9j6nx29rvr5r5jn_bw0000gp/T/confluent.tcrfo4zH Starting zookeeper zookeeper is [UP] Starting kafka kafka is [UP] Starting schema-registry schema-registry is [UP] Starting connect connect is [UP]
-
View the Connect log and verify that MySQL JAR was loaded:
$ ./bin/confluent log connect -f -n +0 |grep -i mysql … [2019-01-15 09:33:50,527] DEBUG Registered java.sql.Driver: com.mysql.cj.jdbc.Driver@15dd5ac2 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:277) …
-
Create the JDBC connector config in
/tmp/kafka-connect-jdbc-source.json
{ "name": "jdbc_source_mysql_foobar_01", "config": { "_comment": "The JDBC connector class. Don't change this if you want to use the JDBC Source.", "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "_comment": "How to serialise the value of keys - here use the Confluent Avro serialiser. Note that the JDBC Source Connector always returns null for the key ", "key.converter": "io.confluent.connect.avro.AvroConverter", "_comment": "Since we're using Avro serialisation, we need to specify the Confluent schema registry at which the created schema is to be stored. NB Schema Registry and Avro serialiser are both part of Confluent Platform.", "key.converter.schema.registry.url": "http://localhost:8081", "_comment": "As above, but for the value of the message. Note that these key/value serialisation settings can be set globally for Connect and thus omitted for individual connector configs to make them shorter and clearer", "value.converter": "io.confluent.connect.avro.AvroConverter", "value.converter.schema.registry.url": "http://localhost:8081", "_comment": " --- JDBC-specific configuration below here --- ", "_comment": "JDBC connection URL. This will vary by RDBMS. Consult your manufacturer's handbook for more information", "connection.url": "jdbc:mysql://localhost:3306/demo?user=rmoff&password=pw", "_comment": "Which table(s) to include", "table.whitelist": "foobar", "_comment": "Pull all rows based on an timestamp column. You can also do bulk or incrementing column-based extracts. For more information, see http://docs.confluent.io/current/connect/connect-jdbc/docs/source_config_options.html#mode", "mode": "timestamp", "_comment": "Which column has the timestamp value to use? ", "timestamp.column.name": "update_ts", "_comment": "If the column is not defined as NOT NULL, tell the connector to ignore this ", "validate.non.null": "false", "_comment": "The Kafka topic will be made up of this prefix, plus the table name ", "topic.prefix": "mysql-" } }
-
Load the connector
$ ./bin/confluent load jdbc_source_mysql_foobar_01 -d /tmp/kafka-connect-jdbc-source.json This CLI is intended for development only, not for production https://docs.confluent.io/current/cli/index.html { "name": "jdbc_source_mysql_foobar_01", "config": { "_comment": "The Kafka topic will be made up of this prefix, plus the table name ", "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "key.converter": "io.confluent.connect.avro.AvroConverter", "key.converter.schema.registry.url": "http://localhost:8081", "value.converter": "io.confluent.connect.avro.AvroConverter", "value.converter.schema.registry.url": "http://localhost:8081", "connection.url": "jdbc:mysql://localhost:3306/demo?user=rmoff&password=pw", "table.whitelist": "foobar", "mode": "timestamp", "timestamp.column.name": "update_ts", "validate.non.null": "false", "topic.prefix": "mysql-", "name": "jdbc_source_mysql_foobar_01" }, "tasks": [], "type": null }
-
View its status
$ ./bin/confluent status jdbc_source_mysql_foobar_01 This CLI is intended for development only, not for production https://docs.confluent.io/current/cli/index.html { "name": "jdbc_source_mysql_foobar_01", "connector": { "state": "RUNNING", "worker_id": "192.168.10.63:8083" }, "tasks": [ { "state": "RUNNING", "id": 0, "worker_id": "192.168.10.63:8083" } ], "type": "source" }
-
Confirm data has been transferred
$ ./bin/confluent consume mysql-foobar --from-beginning --value-format avro This CLI is intended for development only, not for production https://docs.confluent.io/current/cli/index.html {"c1":{"int":1},"c2":{"string":"foo"},"create_ts":{"long":1547547339000},"update_ts":{"long":1547547339000}}
This doesn’t work if invoked as confluent start connect
(presumably because the CLASSPATH
doesn’t get passed on to the child process)
Log: connect-worker-trace_in_classpath.log
-
Launch Kafka Connect directly, setting the
CLASSPATH
directly to the JDBC driver first:CLASSPATH=/u01/jdbc-drivers/mysql-connector-java-8.0.13.jar ./bin/connect-distributed ./etc/kafka/connect-distributed.properties
-
Multiple occurrences in the log of:
[2019-01-15 10:51:39,192] TRACE Class 'com.mysql.cj.jdbc.Driver' not found. Delegating to parent (org.apache.kafka.connect.runtime.isolation.PluginClassLoader) [2019-01-15 10:51:39,197] DEBUG Registered java.sql.Driver: com.mysql.cj.jdbc.Driver@1ca3b418 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
-
Connector works fine
connect-worker-trace_all_in_pluginpath.log
-
Move JDBC plugin from
share/java/
to path outside ofCLASSPATH
(/u01/connector/
) -
Place JDBC Driver in plugin folder
$ ls -lR /u01/connector total 0 drwxr-xr-x@ 14 Robin staff 448 15 Jan 12:23 kafka-connect-jdbc /u01/connector/kafka-connect-jdbc: total 25112 -rw-r--r--@ 1 Robin staff 20437 15 Dec 02:00 audience-annotations-0.5.0.jar -rw-r--r--@ 1 Robin staff 20904 15 Dec 02:00 common-utils-5.1.0.jar -rw-r--r--@ 1 Robin staff 87325 15 Dec 02:00 jline-0.9.94.jar -rw-r--r--@ 1 Robin staff 317816 15 Dec 02:00 jtds-1.3.1.jar -rw-r--r--@ 1 Robin staff 214027 15 Dec 02:00 kafka-connect-jdbc-5.1.0.jar -rw-r--r--@ 1 Robin staff 2132635 15 Jan 12:23 mysql-connector-java-8.0.13.jar -rw-r--r--@ 1 Robin staff 1292696 15 Dec 02:00 netty-3.10.6.Final.jar -rw-r--r--@ 1 Robin staff 658466 15 Dec 02:00 postgresql-9.4-1206-jdbc41.jar -rw-r--r--@ 1 Robin staff 41203 15 Dec 02:00 slf4j-api-1.7.25.jar -rw-r--r--@ 1 Robin staff 7064881 15 Dec 02:00 sqlite-jdbc-3.25.2.jar -rw-r--r--@ 1 Robin staff 74798 15 Dec 02:00 zkclient-0.10.jar -rw-r--r--@ 1 Robin staff 906708 15 Dec 02:00 zookeeper-3.4.13.jar
-
Set
plugin.path=share/java,/u01/connector/
-
MySQL connector works
Difference from option 3 is that the Kafka Connect JDBC plugin is being loaded from a different path.
Log: connect-worker-trace_in_pluginpath.log
-
Edit the Kafka Connect config file used by Confluent CLI
/Users/Robin/cp/confluent-5.1.0/etc/schema-registry/connect-avro-distributed.properties
and add the folder that contains the JARplugin.path=share/java,/u01/jdbc-drivers
$ ls -l /u01/jdbc-drivers/ total 4168 -rw-r--r--@ 1 Robin wheel 2132635 15 Jan 09:43 mysql-connector-java-8.0.13.jar
-
For the purposes of testing, remove the MySQL driver from
share/java/kafka-connect-jdbc
if present:$ pwd /Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc $ rm mysql-connector-java-8.0.13.jar $ ls -l total 20944 -rw-r--r--@ 1 Robin staff 20437 15 Dec 02:00 audience-annotations-0.5.0.jar -rw-r--r--@ 1 Robin staff 20904 15 Dec 02:00 common-utils-5.1.0.jar -rw-r--r--@ 1 Robin staff 87325 15 Dec 02:00 jline-0.9.94.jar -rw-r--r--@ 1 Robin staff 317816 15 Dec 02:00 jtds-1.3.1.jar -rw-r--r--@ 1 Robin staff 214027 15 Dec 02:00 kafka-connect-jdbc-5.1.0.jar -rw-r--r--@ 1 Robin staff 1292696 15 Dec 02:00 netty-3.10.6.Final.jar -rw-r--r--@ 1 Robin staff 658466 15 Dec 02:00 postgresql-9.4-1206-jdbc41.jar -rw-r--r--@ 1 Robin staff 41203 15 Dec 02:00 slf4j-api-1.7.25.jar -rw-r--r--@ 1 Robin staff 7064881 15 Dec 02:00 sqlite-jdbc-3.25.2.jar -rw-r--r--@ 1 Robin staff 74798 15 Dec 02:00 zkclient-0.10.jar -rw-r--r--@ 1 Robin staff 906708 15 Dec 02:00 zookeeper-3.4.13.jar
-
Start Kafka Connect and grep the output for message that driver has been loaded
$ ./bin/confluent start connect; ./bin/confluent log connect -f -n +0 |grep -i mysql This CLI is intended for development only, not for production https://docs.confluent.io/current/cli/index.html Using CONFLUENT_CURRENT: /var/folders/q9/2tg_lt9j6nx29rvr5r5jn_bw0000gp/T/confluent.tcrfo4zH zookeeper is already running. Try restarting if needed kafka is already running. Try restarting if needed schema-registry is already running. Try restarting if needed Starting connect connect is [UP] [2019-01-15 09:45:26,861] INFO Loading plugin from: /u01/jdbc-drivers/mysql-connector-java-8.0.13.jar (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:220) [2019-01-15 09:45:26,861] DEBUG Loading plugin urls: [file:/u01/jdbc-drivers/mysql-connector-java-8.0.13.jar] (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:227) [2019-01-15 09:45:26,946] INFO Registered loader: PluginClassLoader{pluginLocation=file:/u01/jdbc-drivers/mysql-connector-java-8.0.13.jar} (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:243) [2019-01-15 09:45:26,949] DEBUG Registered java.sql.Driver: com.mysql.cj.jdbc.Driver@37303f12 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:277)
(Note that the two INFO
messages here aren’t seen in Option 1)
Connector fails with driver not found:
$ curl -X POST http://localhost:8083/connectors -H "Content-Type: application/json" -d '{
"name": "jdbc_source_mysql_01",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"connection.url": "jdbc:mysql://mysql:3306/demo",
"connection.user": "connect_user",
"connection.password": "asgard",
"topic.prefix": "mysql-01-",
"mode":"bulk"
}
}'
{"error_code":400,"message":"Connector configuration is invalid and contains the following 2 error(s):\nInvalid value java.sql.SQLException: No suitable driver found for jdbc:mysql://mysql:3306/demo for configuration Couldn't open connection to jdbc:mysql://mysql:3306/demo\nInvalid value java.sql.SQLException: No suitable driver found for jdbc:mysql://mysql:3306/demo for configuration Couldn't open connection to jdbc:mysql://mysql:3306/demo\nYou can also find the above list of errors at the endpoint `/{connectorType}/config/validate`"}⏎ [~/c/confluent-5.1.0] Robin@asgard02.moffatt.me
In TRACE
log :
[2019-01-15 10:34:47,966] TRACE Class 'com.mysql.cj.jdbc.Driver' not found. Delegating to parent (org.apache.kafka.connect.runtime.isolation.PluginClassLoader)
This works.
[2019-01-15 10:30:23,116] DEBUG Loading plugin urls: [file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/audience-annotations-0.5.0.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/common-utils-5.1.0.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/jline-0.9.94.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/jtds-1.3.1.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/kafka-connect-jdbc-5.1.0.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/mysql-connector-java-8.0.13.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/netty-3.10.6.Final.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/postgresql-9.4-1206-jdbc41.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/slf4j-api-1.7.25.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/sqlite-jdbc-3.25.2.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/zkclient-0.10.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/zookeeper-3.4.13.jar] (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:30:23,264] INFO Registered loader: PluginClassLoader{pluginLocation=file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/} (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:30:23,264] INFO Added plugin 'io.confluent.connect.jdbc.JdbcSinkConnector' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:30:23,264] INFO Added plugin 'io.confluent.connect.jdbc.JdbcSourceConnector' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:30:23,265] DEBUG Registered java.sql.Driver: jTDS 1.3.1 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:30:23,269] DEBUG Registered java.sql.Driver: com.mysql.cj.jdbc.Driver@7bbbb6a8 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:30:23,275] DEBUG Registered java.sql.Driver: org.postgresql.Driver@ea9e141 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:30:23,278] DEBUG Registered java.sql.Driver: org.sqlite.JDBC@236134a1 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
This doesn’t work.
[2019-01-15 10:34:37,658] DEBUG Loading plugin urls: [file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/audience-annotations-0.5.0.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/common-utils-5.1.0.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/jline-0.9.94.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/jtds-1.3.1.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/kafka-connect-jdbc-5.1.0.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/netty-3.10.6.Final.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/postgresql-9.4-1206-jdbc41.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/slf4j-api-1.7.25.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/sqlite-jdbc-3.25.2.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/zkclient-0.10.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/zookeeper-3.4.13.jar] (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:34:37,780] INFO Registered loader: PluginClassLoader{pluginLocation=file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/} (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:34:37,780] INFO Added plugin 'io.confluent.connect.jdbc.JdbcSourceConnector' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:34:37,780] INFO Added plugin 'io.confluent.connect.jdbc.JdbcSinkConnector' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:34:37,782] DEBUG Registered java.sql.Driver: jTDS 1.3.1 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:34:37,785] DEBUG Registered java.sql.Driver: org.postgresql.Driver@67e28be3 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:34:37,787] DEBUG Registered java.sql.Driver: org.sqlite.JDBC@54aca26f to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
This works.
jvm.classpath = /u01/jdbc-drivers/mysql-connector-java-8.0.13.jar:…
[2019-01-15 10:51:51,869] DEBUG Loading plugin urls: [file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/audience-annotations-0.5.0.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/common-utils-5.1.0.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/jline-0.9.94.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/jtds-1.3.1.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/kafka-connect-jdbc-5.1.0.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/netty-3.10.6.Final.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/postgresql-9.4-1206-jdbc41.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/slf4j-api-1.7.25.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/sqlite-jdbc-3.25.2.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/zkclient-0.10.jar, file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/zookeeper-3.4.13.jar] (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:51:51,951] INFO Registered loader: PluginClassLoader{pluginLocation=file:/Users/Robin/cp/confluent-5.1.0/share/java/kafka-connect-jdbc/} (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:51:51,951] INFO Added plugin 'io.confluent.connect.jdbc.JdbcSourceConnector' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:51:51,951] TRACE Class 'com.mysql.cj.jdbc.Driver' not found. Delegating to parent (org.apache.kafka.connect.runtime.isolation.PluginClassLoader)
[2019-01-15 10:51:51,951] DEBUG Registered java.sql.Driver: com.mysql.cj.jdbc.Driver@66e8997c to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:51:51,953] DEBUG Registered java.sql.Driver: jTDS 1.3.1 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:51:51,955] DEBUG Registered java.sql.Driver: org.postgresql.Driver@971e903 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 10:51:51,957] DEBUG Registered java.sql.Driver: org.sqlite.JDBC@191a709b to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
This works.
[2019-01-15 12:24:36,360] DEBUG Loading plugin urls: [file:/u01/connector/kafka-connect-jdbc/audience-annotations-0.5.0.jar, file:/u01/connector/kafka-connect-jdbc/common-utils-5.1.0.jar, file:/u01/connector/kafka-connect-jdbc/jline-0.9.94.jar, file:/u01/connector/kafka-connect-jdbc/jtds-1.3.1.jar, file:/u01/connector/kafka-connect-jdbc/kafka-connect-jdbc-5.1.0.jar, file:/u01/connector/kafka-connect-jdbc/mysql-connector-java-8.0.13.jar, file:/u01/connector/kafka-connect-jdbc/netty-3.10.6.Final.jar, file:/u01/connector/kafka-connect-jdbc/postgresql-9.4-1206-jdbc41.jar, file:/u01/connector/kafka-connect-jdbc/slf4j-api-1.7.25.jar, file:/u01/connector/kafka-connect-jdbc/sqlite-jdbc-3.25.2.jar, file:/u01/connector/kafka-connect-jdbc/zkclient-0.10.jar, file:/u01/connector/kafka-connect-jdbc/zookeeper-3.4.13.jar] (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 12:24:36,487] INFO Registered loader: PluginClassLoader{pluginLocation=file:/u01/connector/kafka-connect-jdbc/} (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 12:24:36,487] INFO Added plugin 'io.confluent.connect.jdbc.JdbcSourceConnector' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 12:24:36,487] INFO Added plugin 'io.confluent.connect.jdbc.JdbcSinkConnector' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 12:24:36,489] DEBUG Registered java.sql.Driver: jTDS 1.3.1 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 12:24:36,491] DEBUG Registered java.sql.Driver: com.mysql.cj.jdbc.Driver@1e530163 to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 12:24:36,494] DEBUG Registered java.sql.Driver: org.postgresql.Driver@5833f5cd to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
[2019-01-15 12:24:36,496] DEBUG Registered java.sql.Driver: org.sqlite.JDBC@7a34f66a to java.sql.DriverManager (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader)
mysql> use demo;
mysql> create user 'rmoff'@'localhost' IDENTIFIED BY 'pw';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'rmoff'@'localhost';
Query OK, 0 rows affected (0.04 sec)
mysql> create table foobar (c1 int, c2 varchar(255),create_ts timestamp DEFAULT CURRENT_TIMESTAMP , update_ts timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> insert into foobar (c1,c2) values(1,'foo');
Query OK, 1 row affected (0.17 sec)
$ mysql -urmoff -ppw
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.13 Homebrew
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use demo;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from foobar;
+------+------+---------------------+---------------------+
| c1 | c2 | create_ts | update_ts |
+------+------+---------------------+---------------------+
| 1 | foo | 2019-01-15 10:15:39 | 2019-01-15 10:15:39 |
+------+------+---------------------+---------------------+
1 row in set (0.00 sec)