文档首页/ MapReduce服务 MRS/ 用户指南/ MRS集群运维/ MRS集群告警处理参考/ ALM-45445 ClickHouse写入分布式表时发送数据文件到远端分片失败
更新时间:2024-11-12 GMT+08:00

ALM-45445 ClickHouse写入分布式表时发送数据文件到远端分片失败

本章节仅适用于MRS 3.3.1及之后版本。

告警解释

ClickHouse实例分布式表检查模块300秒检查一次,如果连续失败的次数超过配置的阈值,则触发上报告警,此时ClickHouse写入分布式表的节点无法正常发送数据文件到远端分片节点。

当系统检测到连续失败的次数低于阈值时,告警恢复。

告警属性

告警ID

告警级别

是否可自动清除

45445

重要

变更类型

变更版本

变更描述

变更原因

新增

3.3.1

首次增加

首次增加

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群或系统名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

对系统的影响

当ClickHouse写入分布式表节点发送数据文件到远端分片节点失败时,会导致执行分布式表查询等操作结果异常。

可能原因

ClickHouse某些分片节点状态异常。

处理步骤

  1. 登录FusionInsight Manager页面,选择“运维 > 告警 > 告警”,查看当前告警“定位信息”中的角色名以及确认主机名所在的IP地址。
  2. 以客户端安装用户,登录客户端的节点,执行如下命令:

    cd {客户端安装路径}

    source bigdata_env

    • 集群已启用Kerberos认证(安全模式):

      kinit 组件业务用户

      clickhouse client --host 上报告警的ClickHouseServer实例IP --port 9440 --secure

    • 集群未启用Kerberos认证(普通模式):

      clickhouse client --host 上报告警的ClickHouseServer实例IP --user 用户名 --password --port 9000

  3. 执行如下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;

  4. 执行下面SQL语句,获取发送异常的分片(与3中分片编号相同的shard_num对应的分片)节点IP(系统表system.clusters中host字段值)。

    select * from system.clusters;

  5. 参考2登录ClickHouse节点(4获取的节点IP),执行以下语句,查看是否可以正常返回结果:

    SELECT 1;

    是,执行6

    否,执行10

  6. 参考2登录ClickHouse节点(4获取的节点IP),执行以下语句,其中database_name和table_name为分布式表对应本地表的库名和表名,

    select name,type from system.columns where database='database_name' and table='table_name'

  7. 参考步骤2登录上报告警的ClickHouse节点,执行以下语句,其中database_name和table_name为写入的分布式表的库名和表名,

    select name,type from system.columns where database='database_name' and table='table_name'

  8. 对比67的查询结果是否一致,

    是,执行10

    否,请确保分布式表和对应的本地表的列信息一致,再尝试写入分布式表。

  9. 等待几分钟查看告警是否消失,

    是,操作结束。

    否,执行10

收集故障信息

  1. 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
  2. 在“服务”中勾选待操作集群的“ClickHouse”。
  3. 在“主机”中选择异常的主机,单击“确定”。
  4. 单击右上角的时间编辑按钮,设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后1小时,单击“下载”。
  5. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

不涉及。