本文均为公司实际线上业务遇到的问题,视遇到问题的情况持续更新
启动报错 broken parts to remove
<Error> Application: DB::Exception: Suspiciously many (346) broken parts to remove.: Cannot attach table * from metadata file
通常是服务器意外重启(例如断电)导致的文件损坏导致,通过调整max_suspicious_broken_parts
的值来强制启动。
扩展阅读:max_suspicious_broken_parts
注意:对于线上重要数据得有个机制补丢弃的损坏数据
vim /etc/clickhouse-server/config.xml
修改,默认值为10
<merge_tree>
<max_suspicious_broken_parts>5000</max_suspicious_broken_parts>
</merge_tree>
对于参数的解释:如果单个分区中的损坏部分数量超过max_suspicious_broken_parts 配置的值,clickhouse会拒绝自动修复或者拒绝删除损坏部分的数据,并且服务启动时候直接报错退出。
执行sql报错 Max query size exceeded
执行sql报错:Max query size exceeded
原因:执行的sql语句超过最大长度,可以通过调整max_query_size
值来解决。查看当前设置值的大小(单位为bytes,默认值262144即256KB):
select * from system.settings where name like '%max_query_size%'
name value changed description
max_query_size 262144 1 "Which part of the query can be read into RAM for parsing (the remaining data for INSERT, if any, is read later)"
修改配置,在
vim /etc/clickhouse-server/users.xml
例如,修改为2097152,即2MB:
<profiles>
<default>
<max_memory_usage>10000000000</max_memory_usage>
<load_balancing>random</load_balancing>
<max_query_size>2097152</max_query_size>
</default>
<!-- Profile that allows only read queries. -->
<readonly>
<readonly>1</readonly>
<max_query_size>2097152</max_query_size>
</readonly>
</profiles>
扩展阅读:max_query_size
注意:修改配置后无需重启clickhouse,等待一段时间重新连接clickhouse自动热更配置即可,无需停线上服务
如果您觉得您在我这里学到了新姿势,博主支持转载,姿势本身就是用来相互学习的。同时,本站文章如未注明均为 hisune 原创 请尊重劳动成果 转载请注明 转自: clickhouse报错相关解决办法,持续更新 - hisune.com
0 Comments