为数据库中的每个表分别创建了debezium连接器。连接到同一数据库的连接器共享相同的database.history.kafka.topic和database.server.name。此外,连接器对snapshot.mode使用schema_only。
数据库历史主题缺失。于是我放弃了历史主题,重新运行了一遍,"数据库历史主题不见了"。错误仍然发生。如果我改变快照。模式从schema_only到schema_only_recovery,这个连接器不知道模式。启动连接到同一数据库的第二个连接器后发生错误。
如何解决"数据库历史主题丢失"的问题?错误。连接器不应该共享数据库历史主题吗?
当我试图删除Kafka中的所有Debezium主题并从头开始时,我遇到了同样的问题。我怀疑某个州被保存在某个地方,导致了这个问题。经过查看,我发现当我创建连接器时,Debezium在/tmp/connect.offsets
创建了一个临时文件。
通过删除这个文件,我可以在删除主题后从头开始,并使用相同的连接器名称。connect.offsets
文件看起来像是存储了连接器名称到binlog偏移量的映射,但我希望Debzium无论如何都要创建一个新的快照,而不是尝试进行模式恢复。