TiCDC 创建任务报错

【 TiDB 使用环境】测试
【 TiDB 版本】v5.3.0
【复现路径】
集群由v4.0.11升级至v5.3.0后,使用./bin/cdc cli changefeed create
【遇到的问题:问题现象及影响】
创建同步任务失败并报错:[CDC:ErrVersionIncompatible]version is incompatible: TiKV 4.0.11 is not supported, the minimal compatible version is 5.1.0-alpha
【资源配置】

【附件:截图/日志/监控】
社区中有相同的问题,也是升级后创建同步任务失败,但我按照其中的curl http://{pd-ip-host}/pd/api/v1/stores?state=0&state=1&state=2打印后结果为

{
  "store": {
    "id": 7,
    "address": "{tikv-host}:20160",
    "version": "5.3.0",...

看起来和这个问题的起因(即PD中TiKV版本不同步)不同,希望有经验的大佬能看一下。

可以执行下这个命令,看下所有tikv节点的version都是多少

tiup ctl:v5.3.0 pd store --jq '.stores[] | .store | {address, version, state_name}'
3 Likes

我这边执行tiup ctl:v5.3.0 pd store --pd="http://{pd-ip-with-port}" --jq '.stores[] | .store | {address, version, state_name}'后返回jq的可执行文件不存在,jq不是应该是pd-ctl自带的吗?还是需要自行安装?

Starting component `ctl`: /home/tidb/.tiup/components/ctl/v5.3.0/ctl pd store --pd=http://{pd-ip-with-port} --jq .stores[] | .store | {address, version, state_name}
exec: "jq": executable file not found in $PATH

我之后通过执行tiup ctl:v5.3.0 pd store --pd="http://{pd-ip-with-port}"发现了问题,集群内部有一个很早前安装的tiflash节点,没有被正常下限,目前PD中还存在这个节点的信息

"labels": [
  {
    "key": "engine",
    "value": "tiflash"
  }
],
"version": "v4.0.11",

但是tiup cluster display中已经没有该节点了,这种情况下应该如何清除呢?

找到tiflash对应的store_id,使用store delete store_id试下

不过你之前没有正常下线,应该还有遗留。可以考虑看下这个官方文档:
https://docs.pingcap.com/zh/tidb/v6.1/scale-tidb-using-tiup#方案二手动缩容-tiflash-节点

这里tiup是调用linux的jq工具,建议安装一下,解析json的利器

1 Like

好的,我试一下,感谢!