ALM-45445 ClickHouse写入分布式表时发送数据文件到远端分片失败
本章节仅适用于MRS 3.3.1及之后版本。
告警解释
ClickHouse实例分布式表检查模块300秒检查一次,如果连续失败的次数超过配置的阈值,则触发上报告警,此时ClickHouse写入分布式表的节点无法正常发送数据文件到远端分片节点。
当系统检测到连续失败的次数低于阈值时,告警恢复。
告警属性
告警ID |
告警级别 |
是否可自动清除 |
---|---|---|
45445 |
重要 |
是 |
变更类型 |
变更版本 |
变更描述 |
变更原因 |
---|---|---|---|
新增 |
3.3.1 |
首次增加 |
首次增加 |
告警参数
类别 |
参数名称 |
参数含义 |
---|---|---|
定位信息 |
来源 |
产生告警的集群或系统名称。 |
服务名 |
产生告警的服务名称。 |
|
角色名 |
产生告警的角色名称。 |
|
主机名 |
产生告警的主机名。 |
对系统的影响
当ClickHouse写入分布式表节点发送数据文件到远端分片节点失败时,会导致执行分布式表查询等操作结果异常。
可能原因
ClickHouse某些分片节点状态异常。
处理步骤
- 登录FusionInsight Manager页面,选择“运维 > 告警 > 告警”,查看当前告警“定位信息”中的角色名以及确认主机名所在的IP地址。
- 以客户端安装用户,登录客户端的节点,执行如下命令:
cd {客户端安装路径}
source bigdata_env
- 执行如下SQL语句,根据data_path的值获取对应的分片,例如data_path为“/srv/Bigdata/clickhouse/data1.../shard2_all_replicas”,则分片为shard2。
select database, table, data_path, data_files, error_count from system.distribution_queue where data_files != 0 and error_count != 0;
- 执行下面SQL语句,获取发送异常的分片(与3中分片编号相同的shard_num对应的分片)节点IP(系统表system.clusters中host字段值)。
select * from system.clusters;
- 参考2登录ClickHouse节点(4获取的节点IP),执行以下语句,查看是否可以正常返回结果:
SELECT 1;
是,执行6。
否,执行10。
- 参考2登录ClickHouse节点(4获取的节点IP),执行以下语句,其中database_name和table_name为分布式表对应本地表的库名和表名,
select name,type from system.columns where database='database_name' and table='table_name'
- 参考步骤2登录上报告警的ClickHouse节点,执行以下语句,其中database_name和table_name为写入的分布式表的库名和表名,
select name,type from system.columns where database='database_name' and table='table_name'
- 对比6和7的查询结果是否一致,
是,执行10。
否,请确保分布式表和对应的本地表的列信息一致,再尝试写入分布式表。
- 等待几分钟查看告警是否消失,
是,操作结束。
否,执行10。
收集故障信息
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。