ClickHouse数据库异常掉电后Parts大量损坏解决方法
1. 服务可以正常启动
1.1 修改config.xml配置
编辑 ClickHouse 的 config.xml(通常位于 /etc/clickhouse-server/config.xml ):
<merge_tree>
<max_suspicious_broken_parts>500</max_suspicious_broken_parts>
</merge_tree>
1.2 重启 ClickHouse
systemctl restart clickhouse-server
2. 服务无法启动
2.1 手动启动并跳过检查
sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml --skip-suspicious-parts-check
2.2 修复损坏的 parts
-- 进入 ClickHouse 客户端
clickhouse-client
-- 尝试修复表
SYSTEM RESTART REPLICA `database`.`table1`;
-- 或者强制恢复(慎用,可能导致数据丢失)
SYSTEM RECOVER TABLE `database`.`table1`;
如果是可丢弃数据,可选择删除表后重新建立
2.3 手动清理损坏的 parts
找到表的数据目录(通常在 /var/lib/clickhouse/data/database/table1/)
检查 detached/ 文件夹,里面可能有损坏的 parts:
sudo ls -l /var/lib/clickhouse/data/database/table1/detached/
备份后删除损坏的 parts(谨慎操作!):
sudo rm -rf /var/lib/clickhouse/data/database/table1/detached/*

浙公网安备 33010602011771号