1. 程式人生 > >tikv節點故障下線、恢復上線記錄

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