关于ansible部署的tidb集群纳入tiup的管理

【 TiDB 使用环境】测试
【 TiDB 版本】4.0.11
【 背景 】
线上tidb4.0.11使用公司自编的ansible脚本进行部署,基本是按照tidb-ansible-4.0.9的方式修改的。本次要想通过tiup将tidb升级到6.1.2版本。在捆绑到tiup时遇到了报错
【复现路径】使用命令tiup cluster import -d /home/tidb/tidb-ansible必出现
【遇到的问题:问题现象及影响】
操作如下:

  1. 由于部署标准的tidb-ansible-4.0.9脚本部署,我先将当前环境勉强对上了4.0.9 ansible脚本部署的样子(pd和tikv的数据目录没有更改,不知道为啥重命名目录会造成服务无法启动, 感觉目前不重要)
  2. 使用tiup cluster import -d /home/tidb/tidb-ansible会进行报错,具体请看截图1
    遇到的问题:
  3. tiup纳入失败,无法进行之后的步骤,报错没有看明白
    【资源配置】
    【附件:截图/日志/监控】

重命名目录会导致 tidb-ansible 中记录的信息不一致,也会报错

其实工具迁移最好是依循 官方的实践,如果有各种修改,可能就会导致一些问题,而且这些问题不好解决

目前建议 用 tiup 在新建一套 tidb集群,把数据迁移过去会更简单

谢谢您,请问数据迁移有啥好的方案么,由于版本比较旧(4.0.11),ticdc还没有试过, ticdc貌似也是5.0之后才有的

数据迁移也有很多方案的

  1. dumping 按表逻辑导出 SQL,CSV

  2. binlog 老的 CDC 方案,有单点问题,但是很多公司都用过了(当时只有这个)

  3. br 物理备份

然后也可以结合使用,看具体的环境要求了,反正能把数据搬过去就行了 :smiley_cat:

请问,binlong的方案是啥,之前没有接触过。由于线上环境环境没有装tidb,直接用tikv的, dumping和br都无法使用,这个之前试过了。
还要问您下,ticdc肯定无法用在比较老的版本上么

binlog的方案,必须需要 tidb,而且是3.X 就有的能力,所以4.X 会更稳定
但是因为有单点的问题,所以5.X 的时候就用TiCDC 来替代了

纯Tikv 的集群,只能自己写功能来存储数据了… 好像没别的好方案

请问,如果在纯tikv集群中再部署个tidb,再使用您说的binlog方案是否可以。 纯tikv的数据都是客户端用go-client写入的,并且数据量非常大

不行的,tidb + tikv 是标准的 Sql 协议
你用的用法是 KV API 的模式,不兼容的…

谢谢您,再和您确认下,像我说的纯粹用tikv的方法,br、ticdc、binlog和dumping都无法进行类似数据迁移或者备份的工作, 哪怕部署的时候部署了tidb,但是使用没有走标准的sql协议,也无法使用么?

你用的是纯 client 模式

然后这种模式,是不和tidb 交互的,所以呢,以上提到的生态工具都不支持

然后github 上,唯一有讨论的,还是 TXN API 的,如果是 rawAPI ,估计就只能自己想办法了
https://github.com/pingcap/tidb/issues/38506

是纯client模式,明白了,谢谢您

1 个赞

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