【 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 就行
-
<topology.yaml>
为事先编写好的扩容拓扑文件,该文件应当仅包含扩容部分的拓扑
https://docs.pingcap.com/zh/tidb/stable/tiup-component-cluster-scale-out
可以检查一下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 个赞