我们之前在Zookeeper中完全同步了三个Clickhouse节点,直到其中一个节点丢失。
Clickhouse节点与以前一样完全重建(使用Ansible)并运行相同的CREATE TABLE ontime_replica ( ... )
ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/ontime_replica', '{replica}', FlightDate, (Year, FlightDate), 8192)
命令,导致以下错误。
命令:
Received exception from server:
Code: 253. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Replica /clickhouse/tables/01/ontime_replica/replicas/clickhouse1 already exists..
错误是:
/
我们目前正在使用Zookeeper版本3.4.10,我想知道是否有方法删除Zookeeper中的现有副本,或者简单让Zookeeper知道这是现有版本的新版本复制品。
提前谢谢!
答案 0 :(得分:3)
我对解决方案的处理方法不正确。最初,我以为我需要删除Zookeeper中的副本。相反,Clickhouse服务器中的以下命令可以解决此问题。
从另一个工作节点复制SQL文件。该文件位于/var/lib/clickhouse/metadata/default
chown clickhouse:clickhouse <database>.sql
chmod 0640 <database>.sql
sudo -u clickhouse touch /var/lib/clickhouse/flags/force_restore_data
service clickhouse-server start