Clickhouse drop table on cluster but not delete on zookeeper


 

問題描述:

在兩分片,每個分片兩個副本的集群環境中:使用分布式DDL創建與刪除ReplicatedMergeTree表都沒問題。
問題出在:刪除表后,再次創建此表,會報出表已存在,無法創建。
查詢zk后,發現刪除此表后,表的元數據還在zk中,要等10分鍾左右,表的元數據才被清除。
如何在ch中刪除表后,zk中的元數據也被同步刪除?

https://github.com/ClickHouse/ClickHouse/issues/18382

 

處理辦法:

This is a behavior related to Atomic database engine.
When a table in Atomic database been dropped it is not removed immediately but after 480s.

config.xml
<database_atomic_delay_before_drop_table_sec>480</database_atomic_delay_before_drop_table_sec>

https://github.com/ClickHouse/ClickHouse/blob/master/tests/config/config.d/database_atomic.xml

You can

  1. use ordinary database instead of atomic. create database ... Engine=Ordinary.
  2. use uniq ZK path using a new var. {uuid} /clickhouse/tables/{layer}-{shard}-{uuid}/streams.streams_apps_ext_log_test
  3. reduce database_atomic_delay_before_drop_table_sec = 0; & drop table ... sync(sync不需要,直接刪除表即可)

 

<yandex>  

    <database_atomic_delay_before_drop_table_sec>60</database_atomic_delay_before_drop_table_sec>  

</yandex>

 


免責聲明!

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



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