ALM-45459 ClickHouse容灾表只读设置失败
告警解释
当容灾集群打开备集群只读功能,ClickHouse容灾表只读设置失败时,系统产生此告警。
当容灾表只读设置成功后,告警恢复。
本章节仅适用于MRS 3.6.0-LTS.1及之后版本。
告警属性
| 告警ID | 告警级别 | 是否可自动清除 |
|---|---|---|
| 45459 | 重要 | 是 |
告警参数
| 类别 | 参数名称 | 参数含义 |
|---|---|---|
| 定位信息 | 来源 | 产生告警的集群或系统名称。 |
| 服务名 | 产生告警的服务名称。 | |
| 角色名 | 产生告警的角色名称。 | |
| 主机名 | 产生告警的主机名。 |
对系统的影响
当ClickHouse备集群表设置只读失败后,可以对容灾集群上的容灾表进行写操作,会导致容灾数据被破坏。
可能原因
- ClickHouseServer节点对应表不存在。
- ClickHouseServer并发满。
处理步骤
检查ClickHouseServer节点对应表不存在
- 登录FusionInsight Manager页面,选择“运维 > 告警 > 告警”,查看当前告警“定位信息”中的角色名以及确认主机名所在的IP地址。
- 使用root用户登录步骤 1中查询的节点,执行如下命令,查看设置只读失败的表:
su - omm
cd ${BIGDATA_TMP}/disaster/ClickHouse/readOnly
more failedTables.txt
${BIGDATA_TMP}/disaster/ClickHouse/readOnly中的ClickHouse为服务内部名称,多服务场景下,ClickHouse对应ClickHouse-1,ClickHouse-2, ...
- 以客户端安装用户,登录客户端的节点,执行如下命令:
cd {客户端安装路径}
source bigdata_env
- 执行以下语句,查看步骤 2中表是否存在:
select database||'.'||name from system.tables where database = '数据库名称' and name = '表名称';
- 使用root用户登录步骤 1中查询的节点,执行如下命令,查看是否有并发满:
grep -i "too many" /var/log/Bigdata/clickhouse/clickhouseServer/clickhouse-server.log | tail -n 3;
- 登录主集群的FusionInsight Manager页面,选择“主备集群容灾 > 详情 > 通知容灾状态”,输入用户密码,单击“确认”,等待3分钟后,查看告警是否消除。
- 是,操作结束。
- 否,执行步骤 7。
收集故障信息
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。