TIDB 缩容 只减少服务器,但是不减少 Regoin 副本数?

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

如下命令缩容,当前TIKV的Regoin会迁移到其他TIKV上吧?假设原来有3台服务器,三regoin副本,现在通过缩容命令回收一台服务器,那么执行如下命令,等PD把数据调度完成之后,是否还是3副本的Regoin,只不过服务器变成两台了?

tiup cluster scale-in prod-cluster -N 172.16.5.140:20160

是的,执行缩容命令后,PD会负责将原本部署在待缩容节点上的 Region 进行迁移,以保证数据的可靠性和高可用性。假设在执行缩容命令之前,每个 Region 都有三个副本,并且这些副本分布在不同的服务器上,缩容后,PD 会确保每个 Region 仍然保持三个副本的状态,只是将其中一个副本迁移到其他的节点上,以保证数据的可靠性。因此,在执行缩容命令后,即使服务器数量减少了,但是每个 Region 仍然保持原先的副本数。

1 个赞

3台tikv服务器缩容1台后,感觉会有问题,你可以测试环境试一下,因为默认是3副本,且tikv服务器数量需要大于等于副本数的

3台缩成2台,缩不动啊,不满足最小副本数。

原来有3台服务器,三regoin副本,现在通过缩容命令回收一台服务器,缩容不掉的,因为你3个副本没法放在2台服务器上,除非其中1台再扩容一个tikv节点。。。。

1 个赞

我认为我的理解应该是正确的。TIDB 把 数据切得很小(96MB-144MB),而且由PD 自动调度,应该是允许服务器数小于 Regoin 副本数的。先梳理问题,后面申请环境测试一下。

TiDB 数据库的存储 | PingCAP 文档中心


可以看看官档这方面的介绍。

保证最少3副本就行

是要替换机器吧,建议是先扩容一台后在缩

最少三个副本

命令可以执行成功,但是缩容的节点会一直是 Pending Offline 状态,直到有新的tikv节点接收第三个副本才会开始迁移数据。

raft副本数至少要3个才能保证正常投票

最少3副本

你可以试着先加入一个节点再做替换,这时你再进入监控观察一下,Region数量会有变化

副本和节点不是同一个东西呀。你怎么会理解成减少服务器就是减少副本呢。如果tikv有30台服务器,难道是30个副本吗?默认是3个副本 他平均分布在 所有tikv节点上,无论你的节点是多少个,少于3个那就不好存储了基本上只能修改副本数为1才行。

我自己测试一下看看。

必须满足副本数的