一、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>

[转帖]TIDB - TIDB集群的扩容和缩容及TIUP指令说明的更多相关文章

  1. hdfs集群的扩容和缩容

    目录 1.背景 2.集群黑白名单 3.准备一台新的机器并配置好hadoop环境 3.1 我们现有的集群规划 3.2 准备一台新的机器 3.2.1 查看新机器的ip 3.2.2 修改主机名和host映射 ...

  2. Redis Cluster 自动化安装,扩容和缩容

    Redis Cluster 自动化安装,扩容和缩容 之前写过一篇基于python的redis集群自动化安装的实现,基于纯命令的集群实现还是相当繁琐的,因此官方提供了redis-trib.rb这个工具虽 ...

  3. Elasticsearch集群如何扩容机器?

    前提, Elasticsearch-2.4.3的3节点安装(多种方式图文详解)   比如,你已经成功搭建了3台机器的es集群,如我这里分别是192.168.80.10.192.168.80.11.19 ...

  4. 生产调优4 HDFS-集群扩容及缩容(含服务器间数据均衡)

    目录 HDFS-集群扩容及缩容 添加白名单 配置白名单的步骤 二次配置白名单 增加新服务器 需求 环境准备 服役新节点具体步骤 问题1 服务器间数据均衡 问题2 105是怎么关联到集群的 服务器间数据 ...

  5. Kubernetes 笔记 012 Pod 的自动扩容与缩容

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...

  6. Kubernetes 笔记 11 Pod 扩容与缩容 双十一前后的忙碌

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...

  7. Kubernetes---Pod的扩容和缩容

    用RC的Scale机制来实现Pod的扩容和缩容 把redis-slave的pod扩展到3个  ,  kubectl scale rc redis-slave --replicas=3 现在来缩容,把 ...

  8. Docker Kubernetes 容器扩容与缩容

    Docker Kubernetes 容器扩容与缩容 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...

  9. docker微服务部署之:七、Rancher进行微服务扩容和缩容

    docker微服务部署之:六.Rancher管理部署微服务 Rancher有两个特色用起来很方便,那就是扩容和缩容. 一.扩容前的准备工作 为了能直观的查看效果,需要修改下demo_article项目 ...

  10. 023.掌握Pod-Pod扩容和缩容

    一 Pod的扩容和缩容 Kubernetes对Pod的扩缩容操作提供了手动和自动两种模式,手动模式通过执行kubectl scale命令或通过RESTful API对一个Deployment/RC进行 ...

随机推荐

  1. Pikachu漏洞靶场 File Inclusion(文件包含漏洞)

    File Inclusion(文件包含漏洞) 本地文件包含 url: 192.168.171.30/pikachu/vul/fileinclude/fi_local.php?filename=file ...

  2. HDU 2709 Sumset DP 二进制

    原题链接 题意 给我们一个整数k,要求我们将k分成若干个二的整数幂(1, 2, 4, 8...)的加和形式,问我们所有的分法中,本质不同(即某个2的幂的数量不同)的形式有多少种,k最多为1000000 ...

  3. .NET开源免费功能最全的商城项目

    前言 今天给大家推荐一个功能丰富.免费.灵活且可定制的开源电子商务解决方案:nopCommerce.大家假如有商城需求可以直接使用该项目进行二次开发,省时省力. 项目介绍 nopCommerce在.N ...

  4. 第四部分_Shell脚本数组和其他变量

    数组定义 ㈠ 数组分类 普通数组:只能使用整数作为数组索引(元素的下标) 关联数组:可以使用字符串作为数组索引(元素的下标) ㈡ 普通数组定义 可以切片 一次赋予一个值 #数组名[索引下标]=值 ar ...

  5. 华为云数据治理生产线DataArts,让“数据‘慧’说话”

    摘要:数据治理生产线DataArts改变了传统"人拉肩抗"的数据处理方式,帮助提升效率:降低技术门槛,让"人人都是分析师":让"数据'慧'说话&quo ...

  6. 设备如何使用go sdk轻松连接华为云IoT平台?

    摘要:本文介绍使用huaweicloud-iot-device-sdk-go 连接华为云IoT平台,实现简单的华为云文档介绍的四个功能:设备连接鉴权.设备命令.设备消息和设备属性. 本文分享自华为云社 ...

  7. 上手测试GaussDB(for Redis) 和开源 Redis,只为推荐质优价廉的Redis

    摘要:一文带你全方位测评 GaussDB(for Redis) 和开源 Redis. 本文分享自华为云社区<程序员硬核测评:全方位测评 GaussDB(for Redis) 和开源 Redis& ...

  8. 可视大盘 + 健康分机制,火山引擎 DataLeap 为企业降低资源优化门槛!

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着数仓及研发技术团队维护的数据量大.资源使用量大.成本越高.优化压力越大.如何主动发现无效或低效使用的资源,并且 ...

  9. 火山引擎 DataTester 揭秘:字节如何用 A/B 测试,解决增长问题的?

      更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 上线六年,字节跳动的短视频产品--抖音已成为许多人记录美好生活的平台.除了抖音,字节跳动旗下还同时运营着数十款 ...

  10. Runnable接口的 run() 方法和start()方法

    1.start()方法来启动线程,真正实现了多线程运行.这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码:通过调用Thread类的start()方法来启动一个线程, 这时此线程是处于就 ...