为数据库中的每个表单独创建了一个debezium连接器。连接到同一数据库的连接器共享同一个database.history.Kafka.topic和database.server.name。此外,连接器使用schema_only作为snapshot.mode。
发生了数据库历史记录主题丢失错误。因此我删除了历史记录主题并再次运行它,“数据库历史记录主题丢失”错误仍然发生。如果我将snapshot.mode从schema_only更改为schema_only_recovery,则在启动连接到同一数据库的第二个连接器后,会发生“schema is not known to this connector”错误。
如何解决“数据库历史主题丢失”错误。数据库历史主题不应该被连接器共享吗?
1条答案
按热度按时间wj8zmpe11#
当我尝试删除Kafka中的所有Debezium主题并从头开始时,我遇到了同样的问题。我怀疑某些状态被保存在某个地方,导致了这个问题。在查看后,我发现Debezium在创建连接器时在
/tmp/connect.offsets
处创建了一个临时文件。通过删除这个文件,我可以在删除主题后从头开始,并使用相同的连接器名称。
connect.offsets
文件看起来像是存储了连接器名称到binlog偏移量的Map,但我希望Debzium无论如何都可以创建一个新的快照,而不是尝试进行模式恢复。