
# ALM-45459 ClickHouse容灾表只读设置失败
#### 告警解释
当容灾集群打开备集群只读功能，ClickHouse容灾表只读设置失败时，系统产生此告警。
当容灾表只读设置成功后，告警恢复。
本章节仅适用于MRS 3.6.0-LTS.1及之后版本。
#### 告警属性
| 告警ID  | 告警级别 | 是否可自动清除 |
|:---|:---|:---|
| 45459 | 重要   | 是       |
   
#### 告警参数
| 类别   | 参数名称 | 参数含义          |
|:---|:---|:---|
| 定位信息 | 来源   | 产生告警的集群或系统名称。 |
| 定位信息 | 服务名  | 产生告警的服务名称。    |
| 定位信息 | 角色名  | 产生告警的角色名称。    |
| 定位信息 | 主机名  | 产生告警的主机名。     |
   
#### 对系统的影响
当ClickHouse备集群表设置只读失败后，可以对容灾集群上的容灾表进行写操作，会导致容灾数据被破坏。
#### 可能原因
- ClickHouseServer节点对应表不存在。
- ClickHouseServer并发满。
 
#### 处理步骤
**检查ClickHouseServer节点对应表不存在**
1. 登录FusionInsight Manager页面，选择"运维 \> 告警 \> 告警"，查看当前告警"定位信息"中的角色名以及确认主机名所在的IP地址。
2. 使用root用户登录[步骤 1]中查询的节点，执行如下命令，查看设置只读失败的表：
   
   **su - omm**
   **cd ${BIGDATA_TMP}/disaster/*ClickHouse*/readOnly**
   **more failedTables.txt**
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   ${BIGDATA_TMP}/disaster/***ClickHouse*** /readOnly中的***ClickHouse***为服务内部名称，多服务场景下，ClickHouse对应ClickHouse-1,ClickHouse-2, ...
   
   
3. 以客户端安装用户，登录客户端的节点，执行如下命令： 
   **cd** *{客户端安装路径}*
   **source bigdata_env**
   - 集群已启用Kerberos认证（安全模式）： **kinit** *组件业务用户*
     **clickhouse client --host** *上报告警的ClickHouseServer实例IP* **--port** 9440 **--secure**
     
   
   - 集群未启用Kerberos认证（普通模式）： **clickhouse client --host** *上报告警的ClickHouseServer实例IP* **--user** *用户名* **--password** **--port**9440
     
   
   
   
   
4. 执行以下语句，查看[步骤 2]中表是否存在：
   
   ```
   select database||'.'||name from system.tables where database = '数据库名称' and name = '表名称';
   ```
   - 是，执行[步骤 5]。
   
   - 否，执行[步骤 7]。
   
   
   
   
5. 使用root用户登录[步骤 1]中查询的节点，执行如下命令，查看是否有并发满：
   
   ```
   grep -i "too many" /var/log/Bigdata/clickhouse/clickhouseServer/clickhouse-server.log | tail -n 3;
   ```
   - 是，执行[步骤 6]。
   
   - 否，执行[步骤 7]。
   
   
   
   
6. 登录主集群的FusionInsight Manager页面，选择"主备集群容灾 \> 详情 \> 通知容灾状态"，输入用户密码，单击"确认"，等待3分钟后，查看告警是否消除。
   
   - 是，操作结束。
   
   - 否，执行[步骤 7]。
   
   
   
   
**收集故障信息**
7. 在FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
8. 在"服务"中勾选待操作集群的"ClickHouse"。
9. 在"主机"中选择异常的主机，单击"确定"。
10. 单击右上角的时间编辑按钮，设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后1小时，单击"下载"。
11. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
不涉及。
