小白 学习TIKV磁盘空间不足,水平扩容加节点

【 TiDB 使用环境】生产环境
【 TiDB 版本】5.23
【复现路径】磁盘空间不足,扩容一个相同磁盘大小的节点
【遇到的问题:问题现象及影响】由于之前的集群用的是默认的三台 ,参数什么的都是用的默认的,现在想 上线一个一模一样的节点,但没思路 ,有没有大佬提供一个 详细的教程 ,在这一过程重要做哪些准备工作
【资源配置】

操作系统配置要先优化好,保证性能正常;
扩容对业务有一定影响,尽量选择周末等低峰期,你这数据起码得安排一天吧。
操作步骤参考官方文档

使用Tiup添加scale-out.yml 文件内容进行TiKV节点的扩容即可,注意做好服务器间互信配置,并提前检查存在的潜在风险。
TiKV 配置文件参考:

tikv_servers:
  - host: 10.0.1.5
    ssh_port: 22
    port: 20160
    status_port: 20180
    deploy_dir: /tidb-deploy/tikv-20160
    data_dir: /tidb-data/tikv-20160
    log_dir: /tidb-deploy/tikv-20160/log

详细配置参考官方库容:
https://docs.pingcap.com/zh/tidb/stable/scale-tidb-using-tiup

scale-out.yml 这个文件在哪 没有找到

scale-out.yml TiKV 配置文件参考:

tikv_servers:
  - host: 10.0.1.5
    ssh_port: 22
    port: 20160
    status_port: 20180
    deploy_dir: /tidb-deploy/tikv-20160
    data_dir: /tidb-data/tikv-20160
    log_dir: /tidb-deploy/tikv-20160/log

自己添加一个新的 scale-out.yml 就行

:thinking:可以检查一下0.4节点上是否有其他文件占用空间,比如日志文件。

1 个赞

就是db的文件大小 不一致

tikv_servers:

  • host: 10.0.1.5
    ssh_port: 22
    port: 20160
    status_port: 20180
    deploy_dir: /tidb-deploy/tikv-20160
    data_dir: /tidb-data/tikv-20160
    log_dir: /tidb-deploy/tikv-20160/log
    那我扩容的话 这个配置文件 只写新的 嘛 原来的三台不用写吗

不用,该文件应当仅包含****扩容部分的拓扑

OK
明白了

再问个问题 我有 四台TIDB的集群 我在任意一台 TIDB机器上 编辑这个文件都可以嘛

最简单的方法,tiup cluster edit-config tidb-test(你的集群名)找到你的当前tikv节点的配置
tikv_servers:

  • host: 10.10.10.14
    ssh_port: 22
    port: 20160
    status_port: 20180
    deploy_dir: /u01/tidb-deploy/tikv-20160
    data_dir: /u01/tidb-data/tikv-20160
    log_dir: /u01/tidb-deploy/tikv-20160/log
    arch: amd64
    os: linux
    复制出来,修改下ip就是你的scale-out.yml文件。可以保证和你原来的配置一模一样。

嗯,要在安装了tiup的机器上,因为要执行拓扑文件!只要拓扑文件里写清楚host,port就行

明白了

OK谢谢了

不是的,只有中控机上编辑这个文件才可以。如果是某个非中控机节点编辑文件,只会影响当前节点。

1 个赞

我咋判断 我的中控机是哪个啊

实际情况中,这个还真不好判断。一般情况下是哪台服务器上部署了tiup,哪台就是中控机。但是也不排除存在两台服务器都部署tiup的情况,毕竟我们公司就遇到过,这种情况只能通过交接单来判断,或者通过tiup下的配置文件和各节点上的配置文件对比,才能确认哪一台是中控机。

1 个赞

参考文档,改一下配置信息 即可https://docs.pingcap.com/zh/tidb/stable/tiup-component-cluster-scale-out