TiDB-从0到1-集群扩缩容

在这里插入图片描述

TiDB从0到1系列
TiDB-从0到1-体系结构
TiDB-从0到1-分布式存储
TiDB-从0到1-分布式事务
TiDB-从0到1-MVCC
TiDB-从0到1-部署篇
TiDB-从0到1-配置篇
TiDB-从0到1-集群扩缩容
TiDB-从0到1-数据导出导入
TiDB-从0到1-BR工具
TiDB-从0到1-sync-diff-inspector数据校验工具
TiDB-从0到1-DM工具
TiDB-从0到1-TiCDC数据同步工具

前言

传统的RDBMS和NewSQL最大的区别(也是NewSQL相较传统数据库最大的优势):水平扩缩容
拿业内主流的MySQL来说,最常见有效的扩容方式是垂直扩容,加CPU,加内存,加磁盘,比较暴力的从硬件方面提升数据库的性能。当然在部分高可用架构下,再配合读写分离也能提升部分性能,但是性价比也只有那么低了
而新一代数据库最大的亮点就是支持水平扩缩容,而且是便捷有效的水平扩缩容。例如TiDB,当我们业务访问量增加时扩容TiDB Server节点,当数据量增加时扩容TiKV节点,当大数据计算增加时提升TiFlash节点。
试想一种场景,我们通过nginx流量实时分析,可以较为精准的定位出哪些时间范围业务处于高峰期,哪些时间范围处于低峰期,从而需求根据流量变化动态调整数据库的资源
这种场景如果我们使用传统数据库几乎是不可能实现的,即使通过大量脚本+中间件实现了该功能,其稳定性也毫无保障。
但是在新一代数据库中,就是可以做到用户无感知,丝滑的动态扩缩容。

TiDB集群扩容

首先我们已经部署好一套7节点的TiDB集群

tiup cluster display tidb-test

在这里插入图片描述

假设现在数据量突然增,需要对TiKV进行扩容

1、准备扩容文件

vim add-tikv.yaml

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

2、通过扩容文件将新节点加入集群

tiup cluster scale-out tidb-test add-tikv.yaml -uroot -p

根据提示输入新节点服务器密码
在这里插入图片描述

确认加入集群
在这里插入图片描述
在这里插入图片描述

3、确认集群状态

tiup cluster display tidb-test

在这里插入图片描述
(看到集群中已经有4个TiKV节点存在)

假设历史无用数据被清理后,需要对TiKV进行缩容

缩容就比较简单了,直接用tiup命令就行
这里我们选择缩容192.168.14.125节点,而不是刚刚新增的192.168.14.128节点

tiup cluster scale-in tidb-test --node 192.168.14.125:20160

1、确认缩容
在这里插入图片描述
2、查看集群状态

tiup cluster display tidb-test

在这里插入图片描述

这里根据提示我们需要对TiKV节点进行下线

tiup cluster prune tidb-test

在这里插入图片描述
下线成功

彩蛋

其实本次实操过程中遇到了两个问题
1、忘记了root密码
2、在缩容的时候,因为region peer的问题导致缩容节点一直卡在Pending Offline
在这里插入图片描述
不过感人的是TiDB目前的社区生态真的非常优秀,就如我遇到的这两个问题,BD一搜能找到大量解决文档,这也是为什么我一直看好TiDB未来发展。
为什么中小企业都用MySQL?不就是MySQL遇到问题有大量网友帮忙兜底。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值