【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v5.4.0
【复现路径】打算做缩容,把老的服务器缩容掉,现在只剩下PD节点了,请问下切换掉PD的leader的时候流程怎么操作,需要注意什么?
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】
是自动切换的吧,保持3个实例,挨个切换就可以了
旧服务器有3个pd,新上了3个pd,先把旧的2个pd不是leader节点缩容,再切换最后一个PD,这样操作可以吗?
在业务低谷期直接缩掉3个就行了,会自动切换leader
直接缩容可能会导致业务有短时间的报错,建议先把旧的2个pd不是leader节点缩容,再切换最后一个PD,切换完成再把最后一个pd下线,这样业务不会受影响。
可以直接用命令切换
tiup ctl:v{版本} pd member
看一下每个member的名字。然后
tiup ctl:v{版本} pd member transfer {目标pd的name}
切到新的集群上,把老的缩容就行了。
如果要再讲究一点,可以给新的pd设置更高的优先级,你设置好优先级,基本上pd再出现选举也只会再新的pd上。除非新的pd全挂。
tiup ctl:v{版本} pd member leader_priority {pd name} {优先级数字}
没有设置优先级的应该是0,给新pd全部设置成1,这样再选举也只能再新pd中产生pd leader,而且优先级设置好,leader应该会自动换到新pd上。不用你自己再transfer一次。
留PD选举的leader节点,其他节点可以scale-in,然后scale-out新PD节点,将leader节点飘到新增节点上,再删最后一个老节点
直接扩容缩容就行,没啥问题的
已经是5+的版本了,直接干就行
或者可以强制把leader 从当前成员移走:
member leader resign
我这边都是交给集群自动切换的,没有手动切换。缩容的时候会自动切换。
是自动切换的
升级版本,就好了
留一个老节点,启新节点,把L节点切换到新节点后,停老节点,缩了,然后重启整个集群
z这个方法可以
- 确保新的PD节点处于正常工作状态,具备足够的资源和性能来承担Leader角色。
- 在进行Leader切换期间,可能会出现一小段时间的访问中断或性能下降,因此需要在合适的时间窗口进行操作,以最小化对业务的影响。
- 在切换Leader之前,最好备份当前的PD节点数据,以防止意外情况发生。
- 在进行PD Leader切换之前,建议先在测试环境或POC环境进行验证,确保操作的安全性和正确性。
我都没有关注这个,业务低峰期,直接缩容的,它自己切换,没有要求必须谁是leader,集群自己决定就行
借着这个帖子,想问下大佬们,缩容之后的PD节点,如果还想重新加入,需要做什么操作吗?还是把节点毁了,重建才是王道?