Vertica節點故障後的恢復經過

Vertica集羣中一臺服務器故障,導致節點DOWN了。

通過admintools圖形節點的Restart vertica on Host功能重啓節點服務,一直失敗。

重新Stop整個數據庫,然後再Start,還是不行,其它節點都正常,那個故障節點還是DOWN。
查看日誌,提示 Data consistency,數據一致性問題,磁盤文件有損壞?

經過和原廠技術溝通,通過命令行啓動,通過--force參數忽略問題,強行修復。
./admintools -t start_db --database=bigdata --force

這次正常了,故障節點顯示 RECOVERING 狀態,說明在恢復數據,通過以下命令查看節點狀態:
./admintools -t list_allnones

數據恢復的過程可能較長,通過以下SQL可以查看具體進度:
select * from projection_recoveries where progress>1;

由於故障期間發生過很多DELETE操作,需要一點點地同步,最終花了3個小時才徹底恢復數據,服務正常。

 

理論上來說,Vertica是集羣高可用的,k-safe=1,數據雙副本,掛掉一個節點,不影響整體使用。

但是這次發現,細節問題比較多,SELECT語句有時正常,有時非常慢,慢10倍都不止,甚至 delete from t1 where t_date=(select max(t_date) from t1) 這樣的語句會無限期死鎖,沒有響應,正常情況下都是1秒完成。

該情況已反饋給Vertica原廠。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章