ClickHouse 高級(八)運維(1)常見問題排查


1 分布式 DDL 某數據節點的副本不執行

(1)問題:使用分布式 ddl 執行命令 create table on cluster xxxx 某個節點上沒有創建
表,但是 client 返回正常,查看日志有如下報錯。
<Error> xxx.xxx: Retrying createReplica(), because some other replicas
were created at the same time
(2)解決辦法:重啟該不執行的節點。

2 數據副本表和數據不一致

(1)問題:由於某個數據節點副本異常,導致兩數據副本表不一致,某個數據副本缺
少表,需要將兩個數據副本調整一致。
(2)解決辦法:
在缺少表的數據副本節點上創建缺少的表,創建為本地表,表結構可以在其他數據副本
通過 show crete table xxxx 獲取。
表結構創建后,clickhouse 會自動從其他副本同步該表數據,驗證數據量是否一致即可。

3 副本節點全量恢復

(1)問題:某個數據副本異常無法啟動,需要重新搭建副本。
(2)解決辦法:
清空異常副本節點的 metadata 和 data 目錄。
從另一個正常副本將 metadata 目錄拷貝過來(這一步之后可以啟動數據庫,但是只有
表結構沒有數據)。
執行 sudo -u clickhouse touch /data/clickhouse/flags/force_restore_data
啟動數據庫。

4 數據副本啟動缺少 zk 表

(1)問題:某個數據副本表在 zk 上丟失數據,或者不存在,但是 metadata 元數據里
存在,導致啟動異常,報錯:
Can’t get data for node /clickhouse/tables/01-
02/xxxxx/xxxxxxx/replicas/xxx/metadata: node doesn’t exist (No node):
Cannot attach table xxxxxxx
(2)解決辦法:
metadata 中移除該表的結構文件,如果多個表報錯都移除
mv metadata/xxxxxx/xxxxxxxx.sql /tmp/
啟動數據庫
手工創建缺少的表,表結構從其他節點 show create table 獲取。
創建后會自動同步數據,驗證數據是否一致。

5 ZK table replicas 數據未刪除,導致重建表報錯

(1)問題:重建表過程中,先使用 drop table xxx on cluster xxx ,各節點在 clickhouse 上
table 已物理刪除,但是 zk 里面針對某個 clickhouse 節點的 table meta 信息未被刪除(低概
率事件),因 zk 里仍存在該表的 meta 信息,導致再次創建該表 create table xxx on cluster, 該
節點無法創建表(其他節點創建表成功),報錯:
Replica /clickhouse/tables/01-03/xxxxxx/xxx/replicas/xxx already exists..
(2)解決辦法:
從其他數據副本 cp 該 table 的 metadata sql 過來.
重啟節點。

6 Clickhouse 節點意外關閉

(1)問題:模擬其中一個節點意外宕機,在大量 insert 數據的情況下,關閉某個節點。
(2)現象:數據寫入不受影響、數據查詢不受影響、建表 DDL 執行到異常節點會卡住,
報錯:
Code: 159. DB::Exception: Received from localhost:9000. DB::Exception:
Watching task /clickhouse/task_queue/ddl/query-0000565925 is executing
longer than distributed_ddl_task_timeout (=180) seconds. There are 1
unfinished hosts (0 of them are currently active), they are going to
execute the query in background.
(3)解決辦法:啟動異常節點,期間其他副本寫入數據會自動同步過來,其他副本的
建表 DDL 也會同步。

7 其他問題參考

https://help.aliyun.com/document_detail/162815.html?spm=a2c4g.11186623.6.652.312e7
9bd17U8IO

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM