當前位置:編程學習大全網 - 源碼下載 - ClickHouse刪除大表報錯處理方法

ClickHouse刪除大表報錯處理方法

這個是ClickHouse保護大表被誤刪的動作,有兩個方法可以解除這個限制。

意思是刪除大於50G的表都會提示無法刪除,設置為0的就不會報告警提示。

sudo touch /data/clickhouse/flags/force_drop_table && sudo chmod 666 /data/clickhouse/flags/force_drop_table

sudo -u clickhouse touch /var/lib/clickhouse/flags/force_restore_data

CK會從另外壹個備份中恢復數據。這裏是CK自帶的故障恢復機制,前提是使用復制表(Replicated開頭),本質是告訴CK,強制重建數據。

問題分析:

啟動時,檢查本地文件系統中的數據集是否與預期的數據集(ZooKeeper中信息)壹致。如果存在輕微的不壹致,系統會通過與副本同步數據來解決,如果系統檢測到損壞的數據片段(如文件大小錯誤)或無法識別的片段(寫入文件系統但未記錄在ZooKeeper中的部分),則會把它們移動到 ‘detached’ 子目錄(相當於邏輯刪除),然後再從其他備份中去恢復這個數據片段。

但是註意這裏是有壹個安全機制的,即CK判斷妳損壞的片段大於壹定的值(max_suspicious_broken_parts,對應源碼圖二中的邏輯),即“本地數據集與預期數據的差異太大”,CK將會拒絕幫妳自動修復,並拋出異常、阻塞啟動,這個時候妳就必須手動執行恢復。

通過查詢配置得到,max_suspicious_broken_parts參數的默認值是10。

  • 上一篇:盒源iapp
  • 下一篇:sar指標參數怎樣設置
  • copyright 2024編程學習大全網