我们试图在两个TiDB集群之间创建主主复制。每个集群有3台PD服务器、4 KV服务器和2台TiDB服务器。TiDB运行时启用了二进制日志。在TiDB服务器上,我们还安装了水泵。现在我们开始安装排水机,我们看到了以下问题:
如果我们在同一台配置为将数据同步到远程集群的TiDB服务器上部署多个排水器--我们将在远程TiDB中得到重复的条目。每个排水器分别发送插入,因此对于源集群上插入的每条记录,我们在目标集群
发布于 2021-11-30 10:20:32
我也是TiDB用户。
从官方网站上,它建议您使用单独的实例来部署水泵和排水机。
Q1:每个泵是否保存相同的完整数据?还是有阴影?如果部署了一个以上的水泵,事务记录将随机发送到水泵和排水管,以便根据提交时间合并这些绑定日志。
Drainer collects and merges binlogs from each Pump, converts the binlog to SQL or data of a specific format, and replicates the data to a specific downstream platform.
https://docs.pingcap.com/tidb/stable/tidb-binlog-overview#:~:text=Drainer%20collects%20and%20merges%20binlogs%20from%20each%20Pump%2C%20converts%20the%20binlog%20to%20SQL%20or%20data%20of%20a%20specific%20format%2C%20and%20replicates%20the%20data%20to%20a%20specific%20downstream%20platform.Q2.如果我们丢失了一个TiDB服务器(在它上运行了泵)--我们会丢失部分泵数据吗?理想情况下,如果一个泵发生故障,那么新的二进制日志将被发送到其他可用的泵中,并将二进制日志文件存储在排水机中而不是泵中。
Here is the drainer config file:
https://github.com/pingcap/tidb-binlog/blob/master/cmd/drainer/drainer.toml我认为这是非常有用的,你可以遵循它来做你自己的设置。根据我的经验,您可以将二进制日志存储到两个排水机,以避免丢失数据,而不是只使用一个排水机。另外,另一种方法是将绑定日志同步到kafka,这在drainer.toml文件中也可用。
https://stackoverflow.com/questions/68723975
复制相似问题