使用 TiUP 修改集群目录的实践

网友投稿 518 2024-03-05



【是否原创】是

使用 TiUP 修改集群目录的实践

【首发渠道】TiDB 社区

【首发渠道链接】其他平台首发请附上对应链接

【正文】

一、背景

首先,不建议对集群目录进行更改,因为该操作需要重启集群,风险较大。有时也能看到社区有同学提问由于各种原因想更改集群目录并尝试使用edit-config修改失败。查阅官方文档中并没有相关操作的步骤,但是搜索社区问答发现有SOP非常详细地介绍了更改集群IP、端口和目录的步骤。(【SOP 系列 12】TiUP 修改集群 IP 、Port 和目录)于是按照步骤进行了一次测试,发现卡在reload步骤没能够成功,觉得可能是自己有哪个步骤漏了或是操作不规范,当时手头有其他事而且这种操作“800年“也用不到一回于是不了了之。后来又发现有同学在论坛遇到了相同的问题,于是趁假期闲来无事用测试集群进行了比较详细的测试。

二、集群拓扑规划

手头刚好有两台测试机10.0.0.1和10.0.0.2,配置都为8C 16G 100G。

测试集群版本为v5.4.0

实例端口数据目录IPPD2379/export/tidb-data/pd-237910.0.0.1PD3379/export/tidb-data/pd-337910.0.0.1PD2379/export/tidb-data/pd-237910.0.0.2TIDB400010.0.0.1TIDB400010.0.0.2TIKV20160/export/tidb-data/tikv-2016010.0.0.1TIKV20161/export/tidb-data/tikv-20161TIKV20160/export/tidb-data/tikv-20160Tiflah9000/export/tidb-data/tiflash-900010.0.0.1Tiflah9000/export/tidb-data/tiflash-900010.0.0.2prometheus9090/export/tidb-data/prometheus-909010.0.0.1

三、测试过程

目标:将数据路径/export/tidb-data全部替换为/export/tidb-data-test

1.按照拓扑部署5.4.0集群(详细步骤省略)

2.停止目标集群

tiup cluster stop tidb-test

3.备份数据目录及配置文件

在10.0.0.1和10.0.0.2均操作

cp -r /export/tidb-data /export/tidb-data-bak

在中控机操作

cp ~/.tiup/storage/cluster/clusters/tidb-test/meta.yaml ~/.tiup/storage/cluster/clusters/tidb-test/meta_bak.yaml

4.修改配置文件

建议使用批量替换防止遗漏

vi ~/.tiup/storage/cluster/clusters/tidb-test/meta.yaml

:%s/tidb-data/tidb-data-test/g

5.移动部署目录

由于步骤三已备份,所以直接使用mv(10.0.0.1和10.0.0.2均操作)

mv /export/tidb-data /export/tidb-data-test/

6.删除 tikv 及tiflash的数据目录中的 last_tikv.toml

find /export/tidb-data-test -name last_tikv.toml -exec rm -rf {} \;

7.reload 和 restart 集群

使用tiup cluster reload tidb-test 报错

看报错是和pd通信失败,因为步骤2整个集群都已经关闭,所以报这个错也符合预期。根据官方文档说明,tiup cluster reload会执行两个操作,刷新所有节点配置并且重启指定节点。--skip-restart参数可以仅刷新配置,不重启任何节点,这样刷新的配置也不会应用,需要等对应服务下次重启才会生效,于是加该参数进行尝试。

tiup cluster reload tidb-test --skip-restart

reload成功

tiup cluster display tidb-test

检测集群正常,目录替换成功

四、测试其他版本

SOP文章的发布时间是20年底,怀疑有可能是版本差异带来的报错,因此又部署了4.0的最新版本v4.0.16(tiup 1.8.0)和v4.0.0(tiup 1.3.2)版本分别测试

v4.0.16报错与v5.4.0一样,均报无法与pd通信。

v4.0.0既不报错也不超时,等待1小时后Ctrl+Z手动退出

四、总结

tiup cluster reload tidb-test会去连接pd,所以各个版本修改集群目录在集群关闭后reload均要带-skip-restart参数,其余步骤参考SOP即可。

参考文档:https://asktug.com/t/topic/63294

感谢CTC老师的SOP文档指导

以上,如果有不严谨或者纰漏的地方请见谅。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:作业帮携手TiDB 支撑多元化海量数据业务的案例分享
下一篇:使用br工具进行本地备份的操作指南
相关文章