I'm trying to get the SQLServerConnector from Debezium working in Confluent Kafka Connect and everything seems to be running fine, except there are no topics created. Am I missing something?
It starts the task with the right configs...
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO Starting SqlServerConnectorTask with configuration: (io.debezium.connector.common.BaseSourceTask:42)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO connector.class = io.debezium.connector.sqlserver.SqlServerConnector (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO database.user = cdc_test (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO database.dbname = kafka_sql_test (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO task.class = io.debezium.connector.sqlserver.SqlServerConnectorTask (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO database.hostname = mbvmsqlsvr001-t (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO database.history.kafka.bootstrap.servers = horton1:9092 (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO database.history.kafka.topic = dbhistory.sql2016test (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO database.password = ******** (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO name = sql-server-test-connector (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO database.server.name = sql2016test (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO database.port = 1433 (io.debezium.connector.common.BaseSourceTask:44)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,284] INFO table.whitelist = message_table (io.debezium.connector.common.BaseSourceTask:44)Gets the snapshot setup......
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,828] INFO Snapshot step 1 - Preparing (io.debezium.relational.HistorizedRelationalSnapshotChangeEventSource:85)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,830] INFO Snapshot step 2 - Determining captured tables (io.debezium.relational.HistorizedRelationalSnapshotChangeEventSource:94)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,835] INFO Snapshot step 3 - Locking captured tables (io.debezium.relational.HistorizedRelationalSnapshotChangeEventSource:100)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,836] INFO Schema locking was disabled in connector configuration (io.debezium.connector.sqlserver.SqlServerSnapshotChangeEventSource:84)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,836] INFO Snapshot step 4 - Determining snapshot offset (io.debezium.relational.HistorizedRelationalSnapshotChangeEventSource:106)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,837] INFO Snapshot step 5 - Reading structure of captured tables (io.debezium.relational.HistorizedRelationalSnapshotChangeEventSource:109)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,837] INFO Snapshot step 6 - Persisting schema history (io.debezium.relational.HistorizedRelationalSnapshotChangeEventSource:113)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,838] INFO Snapshot step 7 - Snapshotting data (io.debezium.relational.HistorizedRelationalSnapshotChangeEventSource:125)
Apr 16 08:44:20 horton5 connect-distributed[3091]: [2019-04-16 08:44:20,839] INFO Snapshot step 8 - Finalizing (io.debezium.relational.HistorizedRelationalSnapshotChangeEventSource:149)And the connector tasks are running...
# curl http://172.24.32.10:8083/connectors/sql-server-test-connector/status | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 175 100 175 0 0 73160 0 --:--:-- --:--:-- --:--:-- 87500
{
"name": "sql-server-test-connector",
"connector": {
"state": "RUNNING",
"worker_id": "horton5:8083"
},
"tasks": [
{
"id": 0,
"state": "RUNNING",
"worker_id": "horton5:8083"
}
],
"type": "source"
}The username and password have a SPID on the SQL Server and running the CDC queries to get the changes, but nothing shows up in a Kafka topic.
What am I not understanding? Am I supposed to create the topic first and then how would I config the connector to publish messages to it? I have inspected the Kafka Connect logs and there are no errors, but where are the Worker logs for the connectors?
You've got a whitelist config there: table.whitelist = message_table.
Are you sure that there actually are changes to this specific table?
If so, you might increase the log level
(http://debezium.io/docs/logging/) and you should get some more info
about the connector's working (whether it actually receives events
etc.)
> To unsubscribe from this group and stop receiving emails from it, send an email to debe...@googlegroups.com.
curl -X POST -H "Content-Type: application/json" --data '{ "name": "sql-server-test-connector", "config": { "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", "database.hostname": "mbvmsqlsvr001-t", "database.port": "1433", "database.user": "cdc_test", "database.password": "Password!123", "database.dbname": "kafka_sql_test", "database.server.name": "sql2016test", "table.whitelist": "dbo.message_table", "database.history.kafka.bootstrap.servers": "horton1:9092,horton2:9092,horton3:9092,horton4:9092", "database.history.kafka.topic": "dbhistory.sql2016test" }curl -X POST -H "Content-Type: application/json" --data '{ "name": "sql-server-test-connector", "config": { "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", "database.hostname": "mbvmsqlsvr001-t", "database.port": "1433", "database.user": "cdc_test", "database.password": "Password!123", "database.dbname": "kafka_sql_test", "database.server.name": "mbvmsqlsvr001-t", "table.whitelist": "dbo.message_table", "database.history.kafka.bootstrap.servers": "horton1:9092,horton2:9092,horton3:9092,horton4:9092", "database.history.kafka.topic": "dbhistory.sql2016test" }My own stupid mistake. I was using the debezium-connector-sqlserver-0.9.0.Alpha1-plugin.tar.gz distribution. I put the debezium-connector-sqlserver-0.9.4.Final-plugin.tar.gz in place and everything works perfect (I can see changes in the consumer nearly real time).
I don't even know how I got a hold of the Alpha version.......