如何只升级cdc节点

【概述】 场景 + 问题概述
因为我受制于运维需求,tidb集群无法整体升级,准备只升级cdc节点。

我从该网址下载源码https://github.com/pingcap/tiflow
使用/root/.tiup/bin/tiup cluster patch tidbcluster 路径 -R cdc该命令进行升级,但均升级失败

我的尝试如下
尝试一:路径直接用git下载的源码tar.gz
/root/.tiup/bin/tiup cluster patch tidbcluster /data/tidb/binary/v5.3.1.tar.gz -R cdc
报错:
Error: entry cdc not found in package /data/tidb/binary/v5.3.1.tar.gz

尝试二:将源码编译后,使用编译后路径
/root/.tiup/bin/tiup cluster patch tidbcluster /data/tidb/binary/tiflow-5.3.1/bin/cdc -R cdc
报错:
Error: decompress /data/tidb/binary/tiflow-5.3.1/bin/cdc: exit status 2

尝试三:将源码中的cdc单独打包tar.gz
/root/.tiup/bin/tiup cluster patch tidbcluster /data/tidb/binary/tiflow-5.3.1/cdc/cdc-v5.3.1.tar.gz -R cdc
报错:
Error: entry cdc not found in package /data/tidb/binary/tiflow-5.3.1/cdc/cdc-v5.3.1.tar.gz

请问正确的升级方式是什么?

1 个赞

TiCDC 无法单独升级,原因 TiCDC 是通过 TiKV 获取 snapshot log 来进行 sync。所以 TiCDC 必须和 TiKV 版本保持一致。你上面提出报错都是预期的,建议申请停机窗口,业务低峰或者窗口期进行升级。

2 个赞

如果不考虑 TiCDC 与 TiKV 的版本兼容问题
从你的尝试的报错信息来看,看起来是你的压缩文件里没有 cdc 这个文件。
可以从官方下载下来

wget https://tiup-mirrors.pingcap.com/cdc-v5.3.1-linux-amd64.tar.gz
/root/.tiup/bin/tiup cluster patch tidbcluster  cdc-v5.3.1-linux-amd64.tar.gz  -R cdc
1 个赞

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