debezium - io.debezium.DebeziumException:数据库历史主题或其内容完全或部分缺失
问题描述
我经常遇到与连接器本身创建的数据库历史主题相关的问题。我尝试了一个临时解决方案(通过更改数据库历史主题的名称) ,但这不是更好的处理方法。此外,保留字节设置为 -1。这是错误堆栈。
ERROR WorkerSourceTask{id=cdcit.ventures.sandbox.streamdomain.streamsubdomain.order-filter-0} Task threw an uncaught and unrecoverable exception (org.apache.kafka.connect.runtime.WorkerTask)
io.debezium.DebeziumException: The db history topic or its content is fully or partially missing. Please check database history topic configuration and re-execute the snapshot.
at io.debezium.relational.HistorizedRelationalDatabaseSchema.recover(HistorizedRelationalDatabaseSchema.java:47)
at io.debezium.connector.sqlserver.SqlServerConnectorTask.start(SqlServerConnectorTask.java:87)
at io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:101)
at org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:213)
at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:184)
at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:234)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
[2020-09-04 19:12:26,445] ERROR WorkerSourceTask{id=cdcit.ventures.sandbox.streamdomain.streamsubdomain.order-filter-0} Task is being killed and will not recover until manually restarted (org.apache.kafka.connect.runtime.WorkerTask)
解决方案
每个连接器必须使用一个数据库历史主题。该主题不得由多个连接器使用。
推荐阅读
- rust - 如何使用常量泛型创建固定大小的字符串数组?
- javascript - 我可以使用 laravel 将回历日期添加到完整日历吗
- c# - 我怎样才能避免这种设计的神级反模式
- angular - 如何捕获用户在我的 Angular 应用程序中首次访问的 URL
- c - 使用 malloc 为用户输入分配内存
- algorithm - 检测一组数字是否具有强相关性
- testing - 错误:编译错误:bootstrap-datepicker 不是助手
- python - 在 Python Discord 中读取新消息
- python - 有没有办法对 discord.py wait_for() 使用异步检查功能?
- amazon-web-services - 在 S3 中重命名父文件夹