https://docs.pingcap.com/zh/tidb/stable/tiup-component-cluster-scale-in

tiup cluster scale-in 命令用于集群缩容,缩容即下线服务,最终会将指定的节点从集群中移除,并删除遗留的相关文件。

下线特殊处理

由于 TiKV,TiFlash 和 TiDB Binlog 组件的下线是异步的(需要先通过 API 执行移除操作)并且下线过程耗时较长(需要持续观察节点是否已经下线成功),所以对 TiKV,TiFlash 和 TiDB Binlog 组件做了特殊处理:

  • 对 TiKV,TiFlash 及 TiDB Binlog 组件的操作:

    • tiup-cluster 通过 API 将其下线后直接退出而不等待下线完成
    • 执行 tiup cluster display 查看下线节点的状态,等待其状态变为 Tombstone
    • 执行 tiup cluster prune 命令清理 Tombstone 节点,该命令会执行以下操作:
      • 停止已经下线掉的节点的服务
      • 清理已经下线掉的节点的相关数据文件
      • 更新集群的拓扑,移除已经下线掉的节点
  • 对其他组件的操作
    • 下线 PD 组件时,会通过 API 将指定节点从集群中删除掉(这个过程很快),然后停掉指定 PD 的服务并且清除该节点的相关数据文件
    • 下线其他组件时,直接停止并且清除节点的相关数据文件

语法

tiup cluster scale-in <cluster-name> [flags]

<cluster-name> 为要操作的集群名字,如果忘记集群名字可通过集群列表查看。

选项

-N, --node(strings,无默认值,必须非空)

选择要缩容的节点,若缩容多个节点,以逗号分割。

--force

  • 在某些情况下,有可能被缩容的节点宿主机已经宕机,导致无法通过 SSH 连接到节点进行操作,这个时候可以通过 --force 选项强制将其从集群中移除。
  • 数据类型:BOOLEAN
  • 该选项默认关闭,默认值为 false。在命令中添加该选项,并传入 true 值或不传值,均可开启此功能。
 
警告

使用该选项强制移除正在服务和下线中的 TiKV / TiFlash 节点时,这些节点会被直接删除,不等待数据调度完成,因此这个场景下,数据丢失风险非常大。不建议对未宕机的节点使用该选项。如果元数据所在的 Region 发生数据丢失,整个集群将不可用且无法恢复。

--transfer-timeout(uint,默认 600)

在缩容 PD 或 TiKV 时,会先将被缩容节点的 leader 迁移到其他节点,迁移过程会需要一定时间,可以通过设置 --transfer-timeout 设置最长等待时间(单位为秒),超时之后会跳过等待直接缩容服务。

 
注意

若出现跳过等待直接缩容的情况,服务性能可能会出现抖动。

-h, --help

  • 输出帮助信息。
  • 数据类型:BOOLEAN
  • 该选项默认关闭,默认值为 false。在命令中添加该选项,并传入 true 值或不传值,均可开启此功能。

输出

缩容日志

<< 返回上一页 - TiUP Cluster 命令清单

[转帖]tiup cluster scale-in的更多相关文章

  1. Tiup离线安装TIDB集群4.0.16版本

    环境:centos7.6 中控机:8.213.8.25(内网) 可用服务器8.213.8.25-8.213.8.29 一.准备 TiUP 离线组件包 方法1:外网下载离线安装包拷贝进内网服务器 在Ti ...

  2. delphi 开发者 linux 实务(转)

    Linux Essentials for Delphi Developers   There is currently no way using Delphi to target Linux. Lon ...

  3. TiDB在更新版本的时候初始化Prometheus的配置文件失败

    一.背景是更换版本了之后,按照正常扩容节点也会报错. 我们安装的TiDB版本是v4.0.0,因为环境还在试用阶段,所以会经常增删节点.原因是我们违背官方说明,强行用机械盘上了,跑不过单机的mysql, ...

  4. 单机CentOS 安装 TiDB

    目录 一.官网教程 二.安装步骤 1.下载并安装 TiUP: 2.声明一下环境变量,否则会找不到 tiup 命令 3.安装 TiUP 的 cluster 组件: 4.官方教程说,由于模拟多机部署,需要 ...

  5. 小试国产开源HTAP分布式NewSQL数据库TiDB-v5.3.0

    概述 定义 TiDB官网 https://pingcap.com/zh/ 最新版本为5.3.0 TiDB GitHub源码 https://github.com/pingcap/tidb TiDB是由 ...

  6. linux使用汇总

    linux使用汇总 Linux的目录结构 没有逻辑磁盘分区(C盘.D盘...) 是一棵树形结构,根目录是/ 根目录下边有几个文件夹,需要我们了解: /etc:配置文件所在的文件夹.比如:安装JDK,配 ...

  7. TiDB在X86和ARM混合平台下的离线部署和升级

    [是否原创]是 [首发渠道]TiDB 社区 背景 在之前我们团队发布了TiDB基于X86和ARM混合部署架构的文章:TiDB 5.0 异步事务特性体验--基于X86和ARM混合部署架构,最近有朋友问到 ...

  8. CSS动画划入划出酷炫

    HTML插入 <!DOCTYPE html> <html class="no-js iarouse"> <head> <meta char ...

  9. cluster KMeans need preprocessing scale????

    Out: n_digits: 10, n_samples 1797, n_features 64 ___________________________________________________ ...

  10. [转帖]美团在Redis上踩过的一些坑-5.redis cluster遇到的一些问题

    美团在Redis上踩过的一些坑-5.redis cluster遇到的一些问题 博客分类: redis 运维 redis clustercluster-node-timeoutfailover  转载请 ...

随机推荐

  1. docker: 'buildx' is not a docker command

    解决方法 sudo apt install docker-buildx-plugin

  2. Mybatis 源码2——SqlSession,执行器和一级缓存

    一丶 SqlSessionFactoryBuilder,SqlSessionFactory,sqlSession mybatis 获取sqlSession是通过SqlSessionFactory获取的 ...

  3. Flutter 中常用的缓存数据方式

    SharedPreferences: 优点:使用简单,轻量级,适用于少量数据的缓存:缺点:不适合存储大型.结构化.复杂的数据: SQLite: 优点:可以存储大量.结构化.复杂的数据,支持复杂的数据查 ...

  4. 如何使用ffmpeg转换图片格式

    ffmpeg简介与图片格式介绍 windows安装ffmpeg,从如下网站下载release版本 https://www.gyan.dev/ffmpeg/builds/ ffmpeg 6.1版本仍然不 ...

  5. 看故事学Redis:再不懂,我怀疑你是假个开发

    摘要:还不懂Redis?看完这个故事就明白了! 本文转载自博客园社区<还不懂Redis?看完这个故事就明白了!>,作者:轩辕之风 我是Redis 你好,我是Redis,一个叫Antirez ...

  6. 混合编程:如何用pybind11调用C++

    摘要:在实际开发过程中,免不了涉及到混合编程,比如,对于python这种脚本语言,性能还是有限的,在一些对性能要求高的情景下面,还是需要使用c/c++来完成. 本文分享自华为云社区<混合编程:如 ...

  7. 火山引擎在行为分析场景下的ClickHouse JOIN优化

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 背景 火山引擎增长分析DataFinder基于ClickHouse来进行行为日志的分析,ClickHouse的主要 ...

  8. 神经网络优化篇:详解指数加权平均的偏差修正(Bias correction in exponentially weighted averages)

    指数加权平均的偏差修正 \({{v}_{t}}=\beta {{v}_{t-1}}+(1-\beta ){{\theta }_{t}}\) 在上一个博客中,这个(红色)曲线对应\(\beta\)的值为 ...

  9. 【django-vue】主页前端搭建 git介绍和安装 git工作流程 git常用命令 git过滤文件 重写drf方法 跨域中间件 导出项目依赖

    目录 上节回顾 1 主页前端 Header组件 Banner组件 Footer组件 2 git介绍和安装 git和svn比较 pycharm中配置git svn,git ,github,gitee,g ...

  10. EasyUI DataGrid 没有数据

    //判断后台返回数据是否没数据,没数据DataGrid添加一行 $(this).datagrid('appendRow', { itemid: '<div style="text-al ...