TiDB集群在线服务器停机维护主机资源
本文将为大家介绍TiDB集群在线服务器停机维护主机资源方案。

TiDB集群在线服务器维护流程
在业务需求逐步增长的情况下,单台虚拟服务器的资源难以满足业务需求,需要对现有服务器进行纵向扩容操作,将虚拟服务器资源扩展到16C+32G。生产环境集群混合部署TiDB-server层、TiKV和PD层。停单台服务器进行维护对整个集群运行没有太大影响,但是集群会存在某些SQL访问、在线DDL延迟抖动的情况。在线停单台服务器升级CPU、内存的大致维护流程如下:
- 在停单台服务器进行维护操作之前,梳理DM同步到TiDB的任务,确保同步不失败。
- 调整max-store-down-time参数(默认30分钟,如果停机时间超过30分钟,建议调大此参数)。
- 使用Tiup正常停止该节点的TiKV、PD、TiDB实例。
- 服务器停机维护。
- 服务器启动,启动该节点的TiKV、PD、TiDB实例。
- 观察GrafanaPD相关的metric信息以及Dashboard访问情况。
- 应用检查业务使用情况。
停止TiKV和PD组件
停TiKV组件通常情况下,线上集群对TiKV的部署是单机单实例或者单机多实例,在对服务器做临时维护时,需要根据部署情况来进行相应的处理。在实际维护中TiKV节点下线过程中Leaderregion调度对集群的服务影响很小,并且Leaderregion调度速度也较快。单机单实例临时关机维护步骤如下:
- 修改max-store-down-time超过服务器维护时间,默认30min,保证在服务器维护期间不发生补副本行为。
- 检查是否有label,确保没有标签。
- 迁移该服务器上所有store的leader到其他节点。
- 检查leader情况。
- 停止Tikv组件。
停PD组件需要具体考虑节点是leader还是follower,关闭follower对集群运行没有任何影响,关闭leader需要先切换,并在切换时可能存在短暂性能抖动。具体操作步骤如下:
- 检查当前待操作PD集群节点信息。
- 停止当前待操作PDfollower节点。
- 检查当前待操作PD节点角色。
- 迁移leader节点。
- 检查迁移结果。
- 停PD节点。
- 迁回leader(可选)。
停止TiDB-server组件
在停掉TiDB-server组件之前需确定负载均衡是否需进行对应调整。通过curl http://{TiDBIP}:10080/info来确定当前节点是否为owner节点,如果是owner节点且正在进行DDL变更,直接停止TiDB-server节点会进行新的owner选举,DDL变更会变慢。尽量避免在临时停止TiDB-server时以及期间进行DDL操作。停止TiDB-server实例步骤如下:
- 停实例。
- 在进行停止TiDB-server节点时,如果当前节点为owner节点且正在进行DDL变更,避免操作。
停止grafana、alertmanager、prometheus中控节点
停止grafana、alertmanager、prometheus中控节点包含多个组件,需要分别进行对应操作。
检查集群状态和参数调整
关停服务器前检查集群状态,对应的服务器的组件是否都完全停掉。启动服务器后也需要检查集群状态,保证都正常。调整max-store-down-time超过服务器维护时间,保证在服务器维护期间不发生补副本行为。
作者: 本际云服务器推荐网的小编小本本
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6418.html
