MySQL Debezium Kafka: схема не известна этому соединителю - PullRequest
0 голосов
/ 01 ноября 2019

Я запустил MySQL Debezium Kafka Connector ( Версия: 0.9.2.Final ) с одной таблицей в "table.whitelist" , и он работал нормально. При добавлении еще одной таблицы в белый список и перезапуске коннектора появляется следующее сообщение об ошибке:

org.apache.kafka.connect.errors.ConnectException: Encountered change event for table paperclip.iltwhose schema isn't known to this connector
    at io.debezium.connector.mysql.AbstractReader.wrap(AbstractReader.java:230)
    at io.debezium.connector.mysql.AbstractReader.failed(AbstractReader.java:208)
    at io.debezium.connector.mysql.BinlogReader.handleEvent(BinlogReader.java:477)
    at com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1095)
    at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:943)
    at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:580)
    at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:825)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.kafka.connect.errors.ConnectException: Encountered change event for table paperclip.iltwhose schema isn't known to this connector
    at io.debezium.connector.mysql.BinlogReader.informAboutUnknownTableIfRequired(BinlogReader.java:727)
    at io.debezium.connector.mysql.BinlogReader.handleUpdateTableMetadata(BinlogReader.java:702)
    at io.debezium.connector.mysql.BinlogReader.handleEvent(BinlogReader.java:461)
    ... 5 more

Найдите приведенную ниже конфигурацию, которую я использовал. Я надеюсь, что с этим параметром ( "database.history.store.only.monitored.tables.ddl": "false" ) он должен работать.

Как мне разрешить дело?

{
    "name": "Mysql-rnd-engagex",
    "connector.class": "io.debezium.connector.mysql.MySqlConnector",
    "tasks.max": "3",
    "key.converter": "org.apache.kafka.connect.json.JsonConverter",
    "value.converter": "org.apache.kafka.connect.json.JsonConverter",
    "errors.log.enable": "true",
    "errors.log.include.messages": "true",
    "database.hostname": "devmysql.xxxx.net",
    "database.port": "3306",
    "database.user": "xxxxxx",
    "database.password": "xxxxx",
    "database.server.name": "rnd_engagex_cdc",
    "database.history.kafka.bootstrap.servers": "xxxxxx.aivencloud.com:xxxx",
    "database.history.kafka.topic": "rnd_engagex_dbhistory",
    "database.history.skip.unparseable.ddl": "false",
    "database.history.store.only.monitored.tables.ddl": "false",
    "include.schema.changes": "false",
    "include.query": "false",
    "table.ignore.builtin": "true",
    "database.whitelist": "paperclip",
    "table.whitelist": "paperclip.elearning",    //added new table : "paperclip.elearning,paperclip.ilt"
    "column.blacklist": "paperclip.elearning.description",
    "gtid.source.filter.dml.events": "true",
    "tombstones.on.delete": "true",
    "connect.keep.alive": "true",
    "snapshot.minimal.locks": "true",
    "database.history.producer.ssl.truststore.location": "/xxxx/yyyy/keys/public.truststore.jks",
    "value.converter.schemas.enable": "false",
    "database.history.consumer.ssl.truststore.location": "/xxxx/yyyy/keys/public.truststore.jks",
    "database.history.producer.ssl.truststore.password": "password",
    "database.history.producer.ssl.keystore.location": "/xxxx/yyyy/keys/public.keystore.p12",
    "database.history.consumer.ssl.truststore.password": "password",
    "database.history.consumer.ssl.keystore.location": "/xxxx/yyyy/keys/public.keystore.p12",
    "database.history.producer.ssl.keystore.type": "PKCS12",
    "database.history.producer.ssl.keystore.password": "ppppppppp",
    "database.history.consumer.ssl.key.password": "ppppppppp",
    "database.history.producer.security.protocol": "SSL",
    "database.history.consumer.ssl.keystore.type": "PKCS12",
    "database.history.consumer.ssl.keystore.password": "ppppppppp",
    "database.history.producer.ssl.key.password": "ppppppppp",
    "database.history.consumer.security.protocol": "SSL",
    "key.converter.schemas.enable": "false"
}

1 Ответ

0 голосов
/ 06 ноября 2019

При создании соединителя вам необходимо добавить свойство «snapshot.new.tables»: «parallel», тогда только вы сможете добавить в белый список больше таблиц на более позднем этапе. Это не указано в документации, так как функция появилась в виде бета-версии в 0.9.x

...