
# ALM-19035 RegionServer Call队列大小超过阈值
#### 告警解释
系统每30秒周期性检测每个HBase服务的RegionServer实例的Call队列大小，当检测到某个RegionServer上的Call队列大小连续10次超出阈值时产生该告警。
当RegionServer实例的Call队列大小小于或等于阈值时，告警消除。
本章节仅适用于MRS 3.3.1-LTS及之后版本。
#### 告警属性
| 告警ID  | 告警级别                                                                                    | 是否可自动清除 |
|:---|:---|:---|
| 19035 | 紧急（默认阈值为800MB） 重要（默认阈值为600MB） | 是       |
   
#### 告警参数
| 类别   | 参数名称      | 参数含义       |
|:---|:---|:---|
| 定位信息 | 来源        | 产生告警的集群名称。 |
| 定位信息 | 服务名       | 产生告警的服务名称。 |
| 定位信息 | 角色名       | 产生告警的角色名称。 |
| 定位信息 | 主机名       | 产生告警的主机名。  |
| 附加信息 | Threshold | 产生告警的阈值。   |
   
#### 对系统的影响
RegionServer Call队列大小超过阈值，请求队列堆积会导致RegionServer内存GC压力，造成读写请求的响应时间增加，对于时延敏感型业务，可能会导致大量的业务读写请求超时。
#### 可能原因
- RegionServer堆内存配置不合理。
- 慢盘故障。
- RegionServer配置不合理。
- RegionServer的Region分布不均，存在热点。
- WAL Sync操作延迟过大。
 
#### 处理步骤
1. 在FusionInsight Manager首页，选择"运维 \> 告警 \> 告警"，查看"告警ID"为"19035"的告警的"定位信息"中上报该告警的服务实例和主机名。
**检查RegionServer堆内存配置。**
2. 在FusionInsight Manager的告警列表中，查看[步骤 1]中的告警实例是否有"HBase服务进程堆内存使用率超过阈值"告警产生。
   
   - 是，执行[步骤 3]。
   
   - 否，执行[步骤 5]。
   
   
   
   
3. 参考"ALM-19008 HBase服务进程堆内存使用率超过阈值"的处理步骤处理该故障。
4. 等待几分钟后，在告警列表中查看该告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 5]。
   
   
   
   
5. 在FusionInsight Manager首页，选择"集群 \> 服务 \> HBase \> 图表"，在"图表分类"中选择"GC"，查看GC次数和GC时间监控是否异常。
   
   - 是，执行[步骤 6]。
   
   - 否，执行[步骤 9]。
   
   
   
   
6. 单击"配置"，在搜索框中搜索"GC_OPTS"，在RegionServer所在节点内存允许范围内，适当调大RegionServer该参数的"Xmx"值，建议最大值不超过31GB，单击"保存"保存配置。
7. 单击"概览"，选择"更多 \> 重启服务"，重启HBase服务。 
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/notice_3.0-zh-cn.png)
   HBase服务重启期间，HBase服务的业务无法使用，包括数据读写、表相关操作、访问HBase WebUI界面等。
   
   
8. 等待几分钟后，在告警列表中查看该告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 9]。
   
   
   
   
**检查慢盘故障。**
9. 查看[步骤 1]中上报告警节点是否存在"慢盘故障"或"磁盘不可用"告警。
   
   - 是，执行[步骤 10]。
   
   - 否，执行[步骤 12]。
   
   
   
   

10. 参考"ALM-12033 慢盘故障"、"ALM-12063 磁盘不可用"的处理步骤处理该故障。
11. 等待几分钟后，在告警列表中查看该告警是否清除。 
    - 是，处理完毕。
    
    - 否，执行[步骤 12]。
    
    
    
    
**检查RegionServer配置。**
12. 在FusionInsight Manager首页，选择"集群 \> 服务 \> HBase \> 配置 \> 全部配置"，查看配置项"hbase.wal.hsync"和"hbase.hfile.hsync"参数值是否都为"true"。
    
    - 是，执行[步骤 13]。
    
    - 否，执行[步骤 15]。
    
    
    
    
13. 将"hbase.wal.hsync"和"hbase.hfile.hsync"参数值都配置为"false"，单击"保存"保存配置。单击"概览"，选择"更多 \> 重启服务"，重启HBase服务。
14. 等待几分钟后，在告警列表中查看该告警是否清除。 
    - 是，处理完毕。
    
    - 否，执行[步骤 15]。
    
    
    
    
**检查RegionServer Region分布是否均衡。**
15. 在FusionInsight Manager首页，选择"集群 \> 服务 \> HBase"，单击"HMaster Web UI"右侧"HMaster(主)"超链接，进入该HBase实例的WebUI界面，查看"Region Servers"区域"Base Stats"页签"Num.Regions"列上Region的个数分布是否均衡。
    
    - 是，执行[步骤 20]。
    
    - 否，执行[步骤 16]。
    
    
    ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000001786447686.png "点击放大")
    
    
16. 以**omm**用户登录故障RegionServer节点。
17. 进入客户端安装目录，设置环境变量。 
    **cd** *客户端安装目录*
    **source bigdata_env**
    **kinit** *归属于supergroup用户组或具备Global的Admin权限的用户*（集群未启用Kerberos认证（普通模式）请跳过该操作）
    
    

18. 执行以下命令打开负载均衡功能，并查看是否成功打开。 
    **hbase shell**
    **balance_switch true**
    **balancer_enabled**
    执行结果为"true"表示负载均衡功能已打开。
    执行**balancer** 命令手动触发负载均衡。
    ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
    建议打开和手动触发负载均衡操作在业务低峰期进行。
    
    
19. 等待几分钟后，在告警列表中查看该告警是否清除。 
    - 是，处理完毕。
    
    - 否，执行[步骤 20]。
    
    
    
    
**检查WAL sync延迟**。
20. 在FusionInsight Manager首页，选择"集群 \> 服务 \> HBase \> 图表"，在"图表分类"中选择"操作统计"，查看"P999 WAL Sync操作延迟-所有实例"监控值是否超过500ms。
    
    - 是，执行[步骤 21]。
    
    - 否，执行[步骤 22]。
    
    
    
    

21. 单击"实例"，勾选上报告警的RegionServer实例，选择"更多 \> 重启实例"，可快速恢复，还需执行[步骤 22]联系运维人员排查可能存在问题的磁盘。
    
    ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/notice_3.0-zh-cn.png)
    在RegionServer重启期间， 客户端的请求会进行多次失败重试，短暂影响业务读写。
    
    
**收集故障信息**
22. 在FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
23. 在"服务"中勾选待操作集群的"HBase"。
24. 单击右上角的时间编辑按钮，设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
25. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
不涉及。
