登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. Platforms
  3. LINUX
  4. ClickHouse
  5. 正文

Clickhouse-常见错误Detaching broken part If it happened after update, it is likely because of backward incompability. You need to resolve this manually

2022-09-25
参考链接:
https://segmentfault.com/a/1190000042179953
https://www.jianshu.com/p/06b79e8db75c
https://kb.altinity.com/altinity-kb-setup-and-maintenance/suspiciously-many-broken-parts/

如何查询Clickhouse的错误日志 - 登峰造极境

服务器意外断电后,Clichouse一直重试失败,完整错误:

2022.09.25 02:24:45.391647 [ 144 ] {} <Error> iioory_status (2593be6b-d88e-4766-a593-be6bd88e2766): Detaching broken part /var/lib/clickhouse/store/259/2593be6b-d88e-4766-a593-be6bd88e2766/202209_1_92218_53720 (size: 0.00 B). If it happened after update, it is likely because of backward incompability. You need to resolve this manually

一、处理方法

1.1修改max_suspicious_broken_parts启动服务

先参考链接一,修改max_suspicious_broken_parts成功启动Clickhouse。

配置参数当中包含一个参数max_suspicious_broken_parts,默认值是10,可选值范围是任意正整数,如果单个分区中的损坏部分数量超过max_suspicious_broken_parts 配置的值,则拒绝自动修复或者拒绝删除损坏部分的数据,并且服务启动时候直接报错退出

目前需要尽量避免该错误以免服务启动失败,推荐把该参数配置为1000或者更大的值。

新建文件max_suspicious_broken_parts.xml写入如下内容

<?xml version="1.0"?>
<yandex>
     <merge_tree>
         <max_suspicious_broken_parts>1000</max_suspicious_broken_parts>
     </merge_tree>
</yandex>

clickhouse的配置文件推荐放置在/etc/clickhouse-server/config.d/文件夹下生效。

重启clickhouse,成功启动clickhouse数据库。

1.2 修复数据库

以下命令可能会造成损坏区数据丢失,谨慎使用:

sudo -u clickhouse touch /var/lib/clickhouse/flags/force_restore_data

以上命令会创建一个标志文件,然后需要手动重新启动Clickhouse。Clickhouse启动过程中,会尝试数据修复。

修复与启动过程很慢,可能会超过1个小时。

二、自动修复脚本

应用于无人看管的单实例服务器,希望每次重启能自动修复错误,且能接受一定程度的数据丢失。即系统可用性>数据一致性的场景。

非以上场景勿用。

修改ck的config.xml文件,将max_suspicious_broken_parts默认参数设置为2000。

自动检测ck是否已经无法彻底无法启动。如果是,则写入force_restore_data标志并重启ck。

检测思路是,CK是否已经崩了超过N个小时。

检查方式:curl -I http://:8123/ping 检查返回状态,如果返回200且ok则服务正常。

标签: 暂无
最后更新:2025-03-24

代号山岳

知之为知之 不知为不知

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号