ck数据盘损坏,无法进行数据恢复,万幸存储的数据非生产不可丢失数据,进行重新部署。
主要步骤:
清理ck数据目录,
把zk里/clickhouse删掉,
启动ck
但zk集群同时被kafka正在使用,对zk的操作不能影响到kafka的正常工作
$zkpath/bin/.zkCli.sh连接到zk集群
执行删除命令rmr /clickhouse
报错:Packet lenxxxx is out of range!
服务端修改zoo.cfg
jute.maxbuffer=3e7fffff
重启zk
客户端修改zkCli.sh添加
"-Djute.maxbuffer=1048575999"
批量删除
for i in `cat list`;do ./zkCli.sh -server 127.0.0.1:2181 rmr /path/to/table/$i;done
文件太多仍无法删除
统计文件内容到指定文件,使用sed/awk切割文件,批量清理
例如使用,为分隔符的一行大文件,sed切割成列,逐一删除
sed -i 's/,/\n/g' list
再去掉行首空格
sed -i 's/\ //g' list
9faodb018858758dfdc25762c432d6356835
aadgdd15a2210c06ce56oe967
75b192874ac5atb228fc8fafccb48219142008
[rooteiocalhostse
n#sed-i’s/gtn
[rootolocaihost~more
[ce7fb6308001dq1odd2c382d71393e12949
2d31b47cdda2ea0231ci5bebbo1343343
62510agfad68ac1307d65d762444aa6725652565
92d9df468891218442261de834bbd77
1110502289abe429052215do8baee_214214
![image.png](https://cdn.nlark.com/yuque/0/2020/png/175887/1578224593380-6811cb2e-724a-41a8-a344-500bd5fd9ed9.png "image.png")
逐一删除
for i in `sed -n '1,10000p' list`;do ./zkCli.sh -server 127.0.0.1:2181 rmr /path/to/$i;done
https://www.howardliu.cn/zookeeper/zookeeper-error-packet-lenX-is-out-of-range/
删除操作异常缓慢,基本一个库需要10分钟才能有返回,不知道zk删除逻辑是什么。。。
ck恢复数据