ticdc gc-ttl 和扩缩容 问题

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】场景+问题概述

ticdc 中的 gc-ttl 最大支持多少?和kv的gc 有关联吗?

【背景】做过哪些操作
【现象】业务和数据库现象
【业务影响】
【TiDB 版本】
【附件】

  1. TiUP Cluster Display 信息

  2. TiUP Cluster Edit Config 信息

  3. TiDB- Overview 监控

  • 对应模块日志(包含问题前后1小时日志)
2 个赞

gc-ttl最大值没有明确限制,但是不宜过大,和tikv的gc有关系,会影响集群GC的推进
https://docs.pingcap.com/zh/tidb/dev/troubleshoot-ticdc#ticdc-的-gc-ttl-是什么
https://docs.pingcap.com/zh/tidb/dev/troubleshoot-ticdc#ticdc-gc-safepoint-的完整行为是什么

2 个赞

3 个赞

好的,谢谢。

关于cdc的其他问题还要问下

  1. 如果我的tidb集群开了两个cdc节点,然后扩容了一个cdc,那么这个新扩容的cdc抓取的kv change data 是从此刻开始的吗?其他两个cdc的kv change data 会向新的cdc 节点平衡吗?
  2. 假如我的tidb集群开了3个cdc节点,运行24h后开启一个 changefeed并且–start-ts设置为24h前。然后开始同步,同步过程中由于某些原因导致了一个cdc节点故障了,那么这个故障节点拉取的kv change data 怎么办?同步是否还会继续?会不会丢数据?
  3. 基于2的情况下,如果我想将这个故障的cdc从集群中剔除,不用tiup的话,该如何做呢 cdc cli capture 只有list这个子命令,是否有其他命令可以将该cdc从集群中剔除?
1 个赞
  1. cdc开始抓取的时间和扩容操作时间没关系,还是看changefeed的创建时间和指定的start-ts时间。 cdc内部有负载均衡机制,也可以手动的transfter changefeed的capture
  2. 正常会有其他cdc节点接管故障节点的同步任务,从checkpointTS继续同步
  3. tiup和cdc cli 是2个层面,集群层还是的用tiup,可以试试手动systemctl停止相应节点服务然后编辑meta.yaml
3 个赞

你好。之前的drainer 是可以设置safemode的。换成cdc的changefeed后这个该怎么调。https://github.com/pingcap/ticdc/blob/v4.0.14/cmd/changefeed.toml 这个配置文件里没有看到,怎么开启呢

1 个赞

cdc的safe-mode默认为true,暂时没有办法配置,您是哪个版本的

2 个赞

v4.0.14的

1 个赞

https://docs.pingcap.com/zh/tidb/stable/troubleshoot-ticdc#使用-ticdc-创建同步任务时将-enable-old-value-设置为-true-后,为什么上游的-insertupdate-语句经-ticdc-同步到下游后变为了-replace-into?
可以看看这块,目前应该还没有对这里做处理

2 个赞

enable-old-value 和 safe-mode 是什么关系呢?这个例子看起来enable-old-value这个配置参数和safe-mode起到了相同的效果?

1 个赞

重点是这句话


变成replace into是因为safe-mode为true

2 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。