前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >TIDB数据库修改TIKV路径,不让改?我偏偏要改

TIDB数据库修改TIKV路径,不让改?我偏偏要改

作者头像
大风写全栈
发布2025-01-09 20:32:56
发布2025-01-09 20:32:56
6800
代码可运行
举报
文章被收录于专栏:锤子代码锤子代码
运行总次数:0
代码可运行

磁盘空间告警

一台老服务器,部署低版本的TIDB。

日志哐哐往上涨,几天磁盘使用率就90%了。

暂时申请不到新资源,没办法只能迁移TIKV安装目录。

之前有些TIDB的使用经验,但不多(运维方面入门级别)。

感觉应该会比较简单,毕竟就换个目录。

重启集群就好了。

想的总是比较简单,实际坑多的人都麻了。

有些忠告先说一下

注意: 备份数据!!备份数据!!备份数据!!

一定要备份数据,一定!

要不丢了数据,哭都没地方哭。

执行时间比较久,记得选在空闲时间执行!!

开始迁移

TIDB版本是4.x,确实有点老。

没办法升级,先凑合用。

在TIUP上执行:

代码语言:javascript
代码运行次数:0
复制
tiup cluster edit-config tidb

直接修改tikv的安装路径,果不其然抛出异常

代码语言:javascript
代码运行次数:0
复制
New topology could not be saved: immutable field changed: TiKVServers.0.DeployDir changed from '/home/tidb/tikv-20160' to '/data/deploy/tikv-20160', TiKVServers.0.LogDir changed from '/home/tidb/tikv-20160/log' to '/data/deploy/tikv-20160/log'

大意是: 不可变数据发生了改变,不给你保存!

我偏要改!(不改磁盘扛不住了)。

重要步骤来了。

先停集群,没错就是先把集群停了。

在中控执行:

代码语言:javascript
代码运行次数:0
复制
tiup cluster stop tidb

停止之后,在TIKV执行下面命令:

代码语言:javascript
代码运行次数:0
复制
mv tikv-20160 /data/ -R # 移动安装目录
chown tidb:tidb /data/tikv -R # 授权
vi /etc/systemd/system/tikv-20160.service # 修改系统服务中的地址(这一步后期证实可以不用修改,可选)
systemctl daemon-reload # 重新加载系统服务

回到中控中,搜索meta.yaml(先备份这个文件!先备份这个文件!先备份这个文件!

一般是这个路径:

代码语言:javascript
代码运行次数:0
复制
/root/.tiup/storage/cluster/clusters/tidb/meta.yaml

里面修改tikv的安装路径为上面你改过的,比如这里是:

代码语言:javascript
代码运行次数:0
复制
/data/tikv-20160 # TIKV安装路径
/data/tikv-20160/log # TIKV日志路径

修改成这两个之后,保存文件。

通过中控执行下面的命令下发配置:

代码语言:javascript
代码运行次数:0
复制
# 这个地方不清楚为什么会卡住,但我去TIKV查看发现配置已经更新了。
# 执行三分钟之后,我就ctrl+c强制终止了。
tiup cluster reload tidb

上面的步骤之后,基本就完成了。

剩下在中控执行:

代码语言:javascript
代码运行次数:0
复制
# 启动集群
tiup cluster start tidb
# 查看集群状态
tiup cluster display tidb

显示的TIKV安装路径已经变成新的,大功告成~


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 锤子代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档