ALM-45437 ClickHouse表part数量过多
告警解释
当part数量超过阈值part_num_threshold时,系统上报此告警。
当part数量低于阈值part_num_threshold时,告警自动消除。
告警属性
告警ID |
告警级别 |
是否可自动清除 |
---|---|---|
45437 |
次要 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群或系统名称 |
服务名 |
产生告警的服务名称 |
角色名 |
产生告警的角色名称 |
表名 |
产生告警的表名、库名 |
主机名 |
产生告警的主机名 |
对系统的影响
ClickHouse表part数量过多可能导致业务报错。
可能原因
ClickHouse表数据分布不合理,或后台合并任务执行慢导致part数量多。
处理步骤
- 登录FusionInsight Manager页面,选择“运维 > 告警 > 告警”,查看当前告警“定位信息”中的角色名以及确认主机名所在的IP地址。
- 以客户端安装用户,登录客户端的节点,执行如下命令:
cd {客户端安装路径}
source bigdata_env
- 执行如下命令,手动触发part合并:
optimize table 库名.表名 final;
- 查看part数量是否减少
select FQDN(), database, table, count(1) from clusterAllReplicas(default_cluster, system.parts) where database='库名' and table='表名' and active=1 group by (FQDN(), database, table);
- 若part数量减少到阈值以下,等待5min查看告警是否消除。
- 是,操作结束。
- 否,执行5。
- 若part数量仍然未减少,则检查表的分区键是否设置不合理,分区数量太多,若不合理,需要整改业务。
- 返回内容为空,则说明该表已经不存在,此告警为历史告警,可忽略,手动清除即可。
- 若part数量减少到阈值以下,等待5min查看告警是否消除。
收集故障信息
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。