tikv节点故障下线、恢复上线记录

一、故障下线tikv节点

例如,如果要移除一个 TiKV 节点(node9),IP 地址为 172.168.10.9,可以进行如下操作:
1、使用 pd-ctl 从集群中移除节点:
1)查看 node9 节点的 store id:/home/tidb/tidb-ansible/resources/bin/pd-ctl -u "http://172.168.10.1:2379" -d store

2)从集群中移除 node9,假如 store id 为 10:/home/tidb/tidb-ansible/resources/bin/pd-ctl -u "http://172.168.10.1:2379" -d store delete 10


2、使用 Grafana 或者 pd-ctl 检查节点是否下线成功(下线需要一定时间,下线节点的状态变为 Tombstone 就说明下线成功了):/home/tidb/tidb-ansible/resources/bin/pd-ctl -u "http://172.168.10.1:2379" -d store 10
可以去监控平台http://172.168.10.3:3000 看leader为0,region数量为0,也是判断的标识。

3、下线成功后,停止 node9 上的服务:ansible-playbook stop.yml -l 172.168.10.9

4、编辑 inventory.ini 文件,移除节点信息:
[tikv_servers]
172.168.10.6
172.168.10.7
172.168.10.8
#172.168.10.9 # 注释被移除节点

[monitored_servers]
172.168.10.2
172.168.10.3
172.168.10.6
172.168.10.7
172.168.10.8
#172.168.10.9 # 注释被移除节点

5、更新 Prometheus 配置并重启:ansible-playbook rolling_update_monitor.yml --tags=prometheus

6、打开浏览器访问监控平台:http://172.168.10.3:3000,监控整个集群的状态,可以看到这个tikv节点已经不在界面里面了。

二、故障tikv节点上线

tikv节点修复后,因为是腾讯云修复的,sa给的是和故障之前一模一样的cvm,上面的应用软件以及环境都是一模一样的,包括ip地址以及其它各种配置都是一样的,但是因为tidb集群的分布式特性,这个tikv节点上的数据已经没有用了,所以需要卸载掉tikv应用,然后重新安装tikv节点,之后将tikv加入tidb集群,新的数据会自然而然打到这个tikv节点上面。

1、停止所有业务应用,情况原来的tidb的目录

停止tikv应用,ansible-playbook start.yml -l  172.168.10.9(这一步也许需要也许不需要执行)

清空tidb目录:rm -rf /data0/tidb

2、开始安装部署tikv节点

因为系统环境以及ssh都是保持原样的,所有基础配置都可以忽略,直接进入tikv安装部署环节:

ansible-playbook local_prepare.yml -l   172.168.10.9
ansible-playbook bootstrap.yml -l   172.168.10.9
ansible-playbook deploy.yml -l  172.168.10.9
ansible-playbook start.yml -l  172.168.10.9

猜你喜欢

转载自blog.csdn.net/mchdba/article/details/85059071