【 TiDB 使用环境】生产环境
【 TiDB 版本】v5.2.4
【复现路径】
有两套生产集群,均是单节点双实例跑的tikv,一套集群label 在host层面打的没有问题,一套集群label打的有问题(单节点双实例打的host不一致,存在的问题是单台服务器宕机多副本就丢失了),4台服务器8个tikv节点,现在想重新在有问题的集群重新打label,将同节点的label变更为一致。
【遇到的问题:问题现象及影响】
1.可以在生产业务上重新设置label吗,当前集群总容量8T,已使用4.8T,重新配置label后会因tikv上region调度对在线业务产生影响吗、或者在线设置label会有其他问题?
2.如果可以在线更改label的话,操作步骤是否如下(同一台服务器192.168.80.218为例;192.168.80.218:20160 host:tikv4 store:16 192.168.80.218:20161 host:tikv5 store:15 ):
一.tiup cluster edit-config xx
二.reload 集群刷新配置
三.pdctl上操作 store label 15 host tikv4
【资源配置】
考虑稳定性,不建议这么用,tikv至少三个节点。
不要改host,把元数据都搞乱了
建议有问题在现状的基础上解决问题
还能这样玩吗,只能先上线新的tikv,再下线这样改吧
扩缩容是稳妥的 先在社区问问 如果在线更改方式不合适 最后就扩缩容了。
在前天下线前我们10个节点 现在8个节点
我觉得在一个集群上玩吧
是一个集群
参考如下链接:https://docs.pingcap.com/zh/tidb/stable/maintain-tidb-using-tiup
先试用tiup cluster edit-config ${cluster-name}命令打开配置文件,修改参数保存后,执行reload命令重新加载配置
bro 你这个回答不是重点阿 编辑配置还是会的
问题1:
- 首先生产集群上可以重新设置label,但是由于需要通过tiup edit-confgi 修改集群tikv和pd的label配置,改完后需要reload重启集群,让各组重新加载配置和应用新配置,重启后集群会生成调度策略重新对 region 进行均衡调度(包括leader)。
- 修改配置参数,需要重启集群,不支持在线设置生效的方式。
- 如果不想重启整个集群,可以在reload时添加 -R pd,tikv 来限制只重启pd和tikv节点。
- 重启集群业务会有感知,会有访问抖动、延迟升高等情况,请提前和业务进行沟通,建议在业务低谷期进行操作。
- 重启后集群在进行label重新调度均衡时,可以只使用默认的调度测试让它自动均衡数据,默认配置是比较温和的,速度可能会比较慢,可能要比较久的时间。到时候如果有需要加速,可以调整调度配置加速均衡。
问题2:
- 不支持在线调整并生效。
- 相同机器上的tikv节点,配置相同的host label即可。
具体操作可以参考官网内容:
https://docs.pingcap.com/zh/tidb/v7.4/schedule-replicas-by-topology-labels#通过拓扑-label-进行副本调度
reload我记得是轮询刷配置至对应节点,reload过程中集群对外服务不会停止
没错,是轮转刷新到每个节点,是一个一个节点刷新和重启的,集群服务不会停止,而且整体运行没有大的问题。
主要考虑到的点是,如果重启的节点是 pd leader 或 TiKV 上的 Region leader ,集群对外的服务是会有部分抖动的,这个时候业务有可能会有感知到。一句话,就是这个操作不是对业务绝对透明的,要结合业务对延迟的敏感性来制定 reload 计划。
我们评估下 找个周末业务低峰期操作下
xue dao le
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。