ClickHouse元数据异常解决-Can't drop readonly replicated table (need to drop data in zookeeper as well)
Clickhouse版本:20.3.6.40-2
Zookeeper版本:3.4.14
clickhouse集群三个节点,一分片,三副本,三个节点数据完全一样
1. 问题描述
drop一张表时主节点(自定义)首先报错超时,其它两个从节点删除成功。
2. 问题定位
日志显示:
zk显示,发现这张表副本里有其它节点(不在三节点范围内)
初步判断是zk元数据异常
3. 解决过程
首先尝试删除数据目录,rm -rf clickhouse/data/data/database名/表名
再执行drop,依旧报错,显示需要zookeeper数据:
于是删除zookeeper目录: rmr /clickhouse/tables/分片名/表名
发现删除后依旧报错,想到数据目录metedata没有删除,于是执行 rm -rf clickhouse/data/metadata/database名/表名.sql
以上三个执行完后还是会报错,于是重启zk,ck,解决!
总结:
由于操作失误,在这三台之外的ck节点执行了相同的建表语句,此节点与这三节点共用了同一套zk,于是zk里会有它的信息,导致删除不掉
最简单的解决办法是在此ck节点执行drop,zk也会清理掉,如果是其他问题就需要执行三个命令,才会彻底删除
- rm -rf clickhouse/data/data/database名/表名
- rm -rf clickhouse/data/metadata/database名/表名.sql
- rmr /clickhouse/tables/分片名/表名
--------------------------------END --------------------------------
希望对大家有帮助,有问题多交流