TiDB Binlog 常见错误修复
报错原因:如果在 TiDB 中执行了大事务,则生成的 binlog 数据会比较大,可能超过了 Kafka 的消息大小限制。
解决方法:需要调整 Kafka 的配置参数,如下所示。
Pump 报错 “no space left on device”
解决方法:需要清理磁盘空间,然后重启 Pump。
报错原因:Pump 启动时需要通知所有 Online 状态的 Drainer,如果通知失败则会打印该错误日志。
TiDB Binlog 同步中发现数据丢失
需要确认所有 TiDB 实例均开启了 TiDB Binlog,并且运行状态正常。如果集群版本大于 v3.0,可以使用 命令确认所有 TiDB 实例上的 TiDB Binlog 状态。
出现该错误的原因是 TiDB 发送给 Pump 的 gRPC message 超过限值。可以在启动 Pump 时通过指定 来调整 Pump 可接受 gRPC message 的最大大小。
Drainer 输出 file 格式的增量数据,数据有什么清理机制吗?数据会被删除吗?
- 在 v3.0.x 版本的 Drainer 中,file 格式的增量数据没有任何清理机制。
- 在 v4.0.x 版本中,有基于时间的数据清理机制,详见 Drainer 的 retention-time 配置项。