更新时间:2025-09-16 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
ALM-45447 ClickHouse表只读
 
   本章节仅适用于MRS 3.3.1及之后版本。
告警解释
系统每隔1分钟检测一次表的状态,当检测到有表处于只读状态,系统产生告警。当没有表处于只读状态,告警自动消除。
告警属性
| 
         告警ID  | 
       
         告警级别  | 
       
         是否可自动清除  | 
      
|---|---|---|
| 
         45447  | 
       
         次要  | 
       
         是  | 
      
告警参数
| 
         类别  | 
       
         参数名称  | 
       
         参数含义  | 
      
|---|---|---|
| 
         定位信息  | 
       
         来源  | 
       
         产生告警的集群或系统名称。  | 
      
| 
         服务名  | 
       
         产生告警的服务名称。  | 
      |
| 
         角色名  | 
       
         产生告警的角色名称。  | 
      |
| 
         主机名  | 
       
         产生告警的主机名。  | 
      
对系统的影响
- 只读的表无法写入数据和修改数据。
 - 影响复制表的数据同步,导致数据不一致。
 
可能原因
ZooKeeper压力大,元数据丢失。
处理步骤
- 登录FusionInsight Manager页面,选择“运维 > 告警 > 告警”,查看当前告警“定位信息”中的角色名以及确认主机名所在的IP地址。
 - 登录客户端的节点,执行如下命令:
     
     
cd {客户端安装路径}
source bigdata_env
 - 执行以下SQL语句,查看是否有表处于只读状态。
     
     
select database,table from system.replicas where is_readonly = 1
 - 依次执行以下SQL语句,其中database和table是步骤 3中查询的结果。SQL执行完后,再执行步骤 3中的SQL,查看结果中是否包含当前只读表。
     
     
system restore replica database.table;
system restart replica database.table;
 - 依次执行以下SQL语句,其中database和table是步骤 3中查询的结果。SQL执行完后,再执行步骤 3中的SQL,查看结果中是否包含当前只读表。
     
     
detach table database.table;
attach table database.table;
 - 执行以下SQL语句,查看只读表的结构信息,其中database和table是步骤 3中查询的结果。
     
     
show create table database.table;
 - 执行以下SQL语句,删除只读表,再根据步骤 6的表结构信息,重新创建只读表,等待几分钟,再执行步骤 3中的SQL,查看结果中是否包含当前只读表。
     
     
drop table database.table no delay;

 - 等待几分钟查看告警是否清除。
     
     
- 是,操作结束。
 - 否,执行步骤 9。
 
 
收集故障信息
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。