docker容器clickhouse启动异常Suspiciously many broken parts to remove

最近经常碰到同一个问题, 部署的clickhouse服务时常启动异常, 推测是因为clickhouse在设备突然断电时一些数据持久化服务或者数据压缩服务未完全同步, 导致启动后加载过程中, 产生了异常数据碎片无法合并导致的。

这里先说下, 大家部署服务的时候, 切记要把里面的比如日志、配置文件等映射出来到宿主机, 不然改起来很麻烦, 特别是关键数据如果不映射, 到时候容器毁坏了, 数据就全丢了。映射的方法有两个, docker run -v或者在docker-compose.yml中添加volumes都可以。如果忘记映射, 可以使用docker cp container-name:path local-path的方法进行文件或者文件夹的复制, 然后再反过来cp回去就可以。

如果有映射日志, 可以直接查看日志文件, 如果没有映射, 可以通过上述方法cp日志文件出来查看(因为容器挂掉, 没办法直接进去看, 而且docker logs打印的不是clickhouse-server的日志), 如果看到Suspiciously many broken parts to remove的字样, 说明问题就出在这里了。

然后再说下上述问题解决办法, 可以在clickhouse的配置文件的conf.d中(前提时config.yml中include了conf.d文件夹)添加一个配置文件, 命名应该可以随意,但大众一般都采用语义性强的max_suspicious_broken_parts.xml作为配置区分, 其中内容如下:

XML 复制代码
<?xml version="1.0"?>
<yandex>
     <merge_tree>
         <max_suspicious_broken_parts>1000</max_suspicious_broken_parts>
     </merge_tree>
</yandex>

添加完成后, 再重启clickhouse服务, 即可恢复正常。

相关推荐
温暖小土15 小时前
ClickHouse vs Apache Doris:2026年实时OLAP数据库选型深度解析
数据库·数据仓库·clickhouse·apache
海边的椰子树16 小时前
非常方便的MySQL迁移数据ClickHouse工具
数据库·mysql·clickhouse·迁移
JZC_xiaozhong16 小时前
分析型数据库 ClickHouse 在数据中台中的集成
大数据·数据库·clickhouse·架构·数据一致性·数据孤岛解决方案·数据集成与应用集成
·云扬·18 小时前
ClickHouse数据备份与恢复实战:从基础操作到工具应用
android·java·clickhouse
·云扬·2 天前
ClickHouse监控体系搭建:基于Prometheus+Grafana实现数据可视化
clickhouse·grafana·prometheus
·云扬·2 天前
ClickHouse副本配置全攻略:基于ZooKeeper实现高可用部署
clickhouse·zookeeper·debian
·云扬·2 天前
ClickHouse入门指南:从安装配置到核心数据类型解析
clickhouse
心丑姑娘2 天前
clickhouse支持行存吗?什么时候开始支持的
clickhouse
心丑姑娘3 天前
使用clickhouse时怎么理解分区和分片
clickhouse
心丑姑娘3 天前
怎么理解ClickHouse的向量化执行
java·服务器·clickhouse