1、大概情況
在asktom的論壇里面,看到有人提問:一個tikv節點磁盤壞了,現在是down狀態,tikv.log里面不停寫入太多關于這個節點訪問不了的日志資訊,占據大量磁盤,她的處理方式如下:
a、根據ip地址,找到這個節點的store id
b、用store delete,來讓這個節點處于offline狀態,之后快速變成Tombstone狀態,他就可以下掉這個節點了,
c、intenvry.ini檔案里面,去掉這個節點的ip配置資訊,
d、找廠商修復這個節點磁盤,廠商修復后,發現磁盤檔案徹底損壞,換了個新的盤給她,
這樣的處理后,他發現這個tikv節點,還是加入不了tidb集群,一直處于offline狀態,tikv.log日志不停寫入,這個的情況該怎么處理呢?根據各位網友的回復和解決程序,整理如下:
2、解決思路
這個節點上的資料已經丟失了,但是集群的資料還在,因為是三副本,所以只要在集群里面下掉這個tikv節點,然后按照添加新節點的方式,加入這個tikv節點,讓tidb集群自動補資料進來就可以了,
3、解決方案
a、強行設定tikv節點為tombstone狀態
登錄pd的server節點,在業務低峰期執行下 tombstone 命令,curl -X POST 'http://{pd_ip}:{pd_port}/pd/api/v1/store/{store_id}/state?state=Tombstone' ,然后觀察下 grafana 里 region health 有沒有開始進行補副本操作,執行完后,老的store就從offline變成了Tombstone,雖然ip地址沒有變化,但是store id從老的值5變成了新的值39124701,這樣就開始了補副本的操作,
b、提高補副本的速度
進去命令列模式,使用命令-i,如:./resources/bin/pd-ctl -u "http://${pd_ip地址}:2379" -i
如果集群負載不大的話,可以在 pd-ctl 中按照下面這種方式調整下:
stores set limit 30 --設定所有 store 添加 learner/peer 的速度上限為 30 ,
store limit 39124701 45 --單獨設定新加的這個 tikv 節點添加 learner/peer 的速度上限為 45
調整后觀察下集群的 QPS/TPS 是否有抖動,如果抖動比較明顯再把值調整小點
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/153614.html
標籤:其他
上一篇:企業建站程序中的坑
