关于pump集群下线节点的疑问

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】 4.0.0

【问题描述】

三个节点的pump集群,是否可以使用 tiup工具进行缩容?
缩容之后,该节点上保存的binlog会同步到其他在线的节点上吗?

谢谢。


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

可以先说下你的需求是啥,我理解咱们下线掉 pump 就是对下游数据的同步完整性就不太关心了、

抱歉,没说明白。

我们现在有一个三节点的pump集群来写binlog,但是还没启用drainer来消费。现在想下线一个节点,只保留两个pump节点。
如果使用binlogctl 工具将pump设置为offline,pump会一直等待drainer消费完成,才会将状态更新为offline。
但是现在没有开启drainer服务,因此,被下线的pump节点依然是online状态,但是不会继续写binlog了。
如果强制kill掉该pump进程,是否意味着该节点之前写的binlog会丢失?
这种情况下该如果下线该节点呢?需要先启动drainer来消费完成吗?

谢谢您。

1 个赞

先问一句,pump 中的数据是否需要了呢?如果需要酒开启 drainer ,否则 force 缩容就行,话说 pump 下游是 file ?

pump里的数据还需要,下游是mysql。

pump 中的数据仅保留 pump gc 中设置的天数
按照上面的说法,你的数据还没有被同步到 mysql,尽快扩容 drainer 把数据写入 mysql。
后面的下线流程就是和正常下线一样就行了。