[转帖]TIDB - TIDB集群的扩容和缩容及TIUP指令说明

济南小老虎 / 2024-01-09 / 原文

一、TIUP工具简介

前面介绍了使用TIUP搭建TIDB集群,本篇文章详细介绍下使用TIUP对集群进行扩容和缩容。

在面对双十一这种流量突峰的场景,我们平常的TIDB集群有可能承受不住,因此需要提前进行扩容,例如增加tidb-server,以增加TIDB的计算能力,增加tikv-server,增加TIDB的存储能力。在双十一过去后,流量一般不会达到那么高的峰值了,此时集群还搭建那么多就有点浪费了,毕竟服务器的成本也是蛮高的,此时就需要进行缩容以恢复到正常状态。

下面体验下使用TIUP对TIDB集群扩容和缩容。

二、TIDB集群扩容

在上篇文章中已经搭建了TIDB集群,如果不了解的小伙伴可以看下我的上篇博客:

https://blog.csdn.net/qq_43692950/article/details/121457762

在扩容前我们先查看下集群状态

tiup cluster display tidb-test
  • 1

在这里插入图片描述

可以看到tidb-server只有一个实例,那我们就扩展一台tidb-server以增加计算能力。

编写 scale-out.yaml 文件:

tidb_servers:
  - host: 192.168.40.161
   # ssh_port: 22
   # port: 4000
   # status_port: 10080
   # deploy_dir: /data/deploy/install/deploy/tidb-4000
   # log_dir: /data/deploy/install/log/tidb-4000
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

开始扩容:

tiup cluster scale-out tidb-test ./scale-out.yaml --user root -p
  • 1

在这里插入图片描述
看到successfully证明扩容成功。

再次查看集群状态:

tiup cluster display  tidb-test
  • 1

在这里插入图片描述

可以看到已经有两个tidb-server了。通过navicat 就可以连接新添加的节点:

在这里插入图片描述

三、TIDB集群缩容

相对于扩容,缩容就很简单了,直接指定服务的ip和端口就可以:
例如把上面新增的tidb-server去除掉

tiup cluster scale-in tidb-test --node 192.168.40.161:4000
  • 1

在这里插入图片描述
通过打印的信息可以看到已经缩容成功了。

再次查看集群状态:

tiup cluster display  tidb-test
  • 1

在这里插入图片描述
现在集群环境中就只有一台tidb-server节点了。

下面补充下TIUP的常用命令。

四、TiUP 常用指令

1. 安装TIUP

下载

curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
  • 1

声明全局环境变量

source /root/.bash_profile
  • 1

2. 更新TIUP

tiup update --self
  • 1

3. 安装组件

例如:安装cluster

tiup cluster
  • 1

4. 更新组件

tiup update cluster
  • 1

5. 查看组件的版本

例如:cluster

tiup --binary cluster
  • 1

6. 生成TIDB部署的模板

tiup cluster template > topology.yaml
  • 1

7. 检查和自动修复集群存在的潜在风险

tiup cluster check ./topology.yaml --apply --user root -p
  • 1

8. 部署 TiDB 集群

tiup cluster deploy ${cluster-name} ${cluster-version} ./topology.yaml --user root -p
  • 1

9. 查看 TiUP 管理的集群

tiup cluster list
  • 1

10. 检查集群情况

tiup cluster display ${cluster-name}
  • 1

11. 启动集群

tiup cluster start ${cluster-name}
  • 1

12. 关闭集群

tiup cluster stop ${cluster-name}
  • 1

13. 启动部分组件

tiup cluster start ${cluster-name} -R pd
  • 1

13. 启动指定主机的组件

 tiup cluster start ${cluster-name} -N $(ip1):${port1},$(ip2):${port2}
  • 1

14. 修改集群的名称

tiup cluster rename ${cluster-old-name} ${cluster-new-name}
  • 1

15. 集群升级

tiup cluster upgrade ${cluster-name} v5.0.0
  • 1

16. 检查集群状态

tiup cluster check ${cluster-name} --cluster
  • 1

17. 更新周边工具,比如pd-ctl

tiup install ctl:v5.0.0
  • 1

在这里插入图片描述
喜欢的小伙伴可以关注我的个人微信公众号,获取更多学习资料!

    <div id="blogExtensionBox" style="width:400px;margin:auto;margin-top:12px" class="blog-extension-box"><div class="blog_extension blog_extension_type1" id="blog_extension">
      <div class="blog_extension_card" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.6470&quot;}">
        <div class="blog_extension_card_left">
        <img src="https://img-blog.csdnimg.cn/0d82ec2468684624922e112ae5f92707.png" alt="">
      </div>
        <div class="blog_extension_card_cont">
          <div class="blog_extension_card_cont_l">
            <span class="text">狂热JAVA小毕超</span>
            <div class="blog_extension_card_cont_r">
              <img class="weixin" src="https://g.csdnimg.cn/extension-box/1.1.6/image/weixin.png" alt="">
              <span>微信公众号</span>
              <img class="go" src="https://g.csdnimg.cn/extension-box/1.1.6/image/ic_move.png" alt="">
            </div>
          </div>
          <span class="style">专注于JAVA、微服务、中间件等技术分享</span>
        </div>
      </div></div></div>
</article>