文档首页/ MapReduce服务 MRS/ 用户指南/ MRS集群运维/ MRS集群告警处理参考/ ALM-19033 RegionServer的RPC读队列数超过阈值
更新时间:2024-11-12 GMT+08:00

ALM-19033 RegionServer的RPC读队列数超过阈值

告警解释

系统每30秒周期性检测每个HBase服务的RegionServer实例的RPC读队列待处理任务个数,当检测到某个RegionServer上的RPC读队列待处理任务个数连续10次超出阈值时产生该告警。

当RegionServer实例的RPC读队列待处理任务个数小于或等于阈值时,告警消除。

该告警仅适用于MRS 3.3.1及之后版本。

告警属性

告警ID

告警级别

是否可自动清除

19033

  • 紧急:默认阈值为2000
  • 重要:默认阈值为1600

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

附加信息

Threshold

产生告警的阈值。

对系统的影响

RegionServer RPC读队列数超过阈值,请求队列堆积会导致读取请求的响应时间增加,对于时延敏感型业务,可能会导致大量的业务读取请求超时。

可能原因

  • RegionServer堆内存配置不合理。
  • RegionServer配置不合理。
  • RegionServer的Region分布不均,存在读取热点。
  • 慢盘故障。

处理步骤

  1. 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,查看“告警ID”为“19033”的告警的“定位信息”中上报该告警的服务实例和主机名。

检查RegionServer堆内存配置。

  1. 在FusionInsight Manager的告警列表中,查看1中的告警实例是否有“HBase服务进程堆内存使用率超过阈值”告警产生。

    • 是,执行3
    • 否,执行5

  2. 参考“ALM-19008 HBase服务进程堆内存使用率超过阈值”的处理步骤处理该故障。
  3. 等待几分钟后,在告警列表中查看该告警是否清除。

    • 是,处理完毕。
    • 否,执行5

  4. 在FusionInsight Manager首页,选择“集群 > 服务 > HBase > 图表”,在“图表分类”中选择“GC”,查看GC次数和GC时间监控是否异常。

    • 是,执行6
    • 否,执行9

  1. 单击“配置”,在搜索框中搜索“GC_OPTS”,在RegionServer所在节点内存允许范围内,适当调大RegionServer该参数的“Xmx”值,建议最大值不超过31GB,单击“保存”保存配置。
  2. 单击“概览”,选择“更多 > 重启服务”,重启HBase服务。

    HBase服务重启期间,HBase服务的业务无法使用,包括数据读写、表相关操作、访问HBase WebUI界面等。

  3. 等待几分钟后,在告警列表中查看该告警是否清除。

    • 是,处理完毕。
    • 否,执行9

检查RegionServer配置。

  1. 在FusionInsight Manager首页,选择“集群 > 服务 > HBase > 配置 > 全部配置”,查看“hbase.bucketcache.size”配置是否合理,该值越大读缓存越大,有助于提升读取性能,在节点剩余内存前提下适当调大该配置,单击“保存”保存配置。单击“概览”,选择“更多 > 重启服务”,重启HBase服务。
  2. 等待几分钟后,在告警列表中查看该告警是否清除。

    • 是,处理完毕。
    • 否,执行11

  1. 在HBase概览界面,单击“HMaster Web UI”右侧超链接进入HBase WebUI页面,在“Tables”区域的“User Tables”页签单击用户当前正在大量读的表名称,在“Table”页签的“Table Schema”区域查看该表的“BLOCKCACHE”值是否为“false”。

    • 是,执行12
    • 否,执行14

  2. 使用omm用户登录HBase客户端所在节点,执行以下命令修改11表列族的BLOCKCACHE参数值为“true”:

    cd 客户端安装目录

    source bigdata_env

    kinit 归属于supergroup用户组或具备Global的Admin权限的用户集群未启用Kerberos认证(普通模式)请跳过该操作)

    hbase shell

    alter '表名', {NAME => '列族名', BLOCKCACHE => true}

    执行以下命令检查列族的BLOCKCACHE参数是否已更改为“true”:

    describe '表名'

  3. 等待几分钟后,在告警列表中查看该告警是否清除。

    • 是,处理完毕。
    • 否,执行14

检查RegionServer的Region分布是否均匀。

  1. 在FusionInsight Manager首页,选择“集群 > 服务 > HBase”,单击“HMaster(主)”,进入HBase WebUI页面,查看Region Servers区域“Base Stats”页签的“Num.Regions”列上Region的个数分布是否均衡。

    • 是,执行20
    • 否,执行15

  2. omm用户登录故障RegionServer节点。
  3. 进入客户端安装目录,设置环境变量。

    cd 客户端安装目录

    source bigdata_env

    kinit 归属于supergroup用户组或具备Global的Admin权限的用户集群未启用Kerberos认证(普通模式)请跳过该操作)

  4. 执行以下命令查看负载均衡功能是否打开。

    hbase shell

    balancer_enabled

    若执行结果为“true”则表示已打开负载均衡功能。
    • 是,执行20
    • 否,执行18

  5. 执行以下命令打开负载均衡功能,并确认是否成功打开。

    balance_switch true

    balancer_enabled

    执行balancer命令手动触发负载均衡。

    建议打开和手动触发负载均衡操作在业务低峰期进行。

  1. 等待几分钟后,在告警列表中查看该告警是否清除。

    • 是,处理完毕。
    • 否,执行20

检查慢盘故障。

  1. 查看中1上报告警节点是否存在“慢盘故障”或“磁盘不可用”告警。

    • 是,执行21
    • 否,执行23

  1. 参考“ALM-12033 慢盘故障”、“ALM-12063 磁盘不可用”的处理步骤处理该故障。
  2. 等待几分钟后,在告警列表中查看该告警是否清除。

    • 是,处理完毕。
    • 否,执行23

收集故障信息

  1. 在FusionInsight Manager首页,选择“集群 > 服务 > HBase > 图表”,在“图表分类”选择“IO”,查看“Pread最大耗时-所有实例”和“Read最大耗时-所有实例”监控值(正常值不超过100ms)。
  2. 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
  3. 在“服务”中勾选待操作集群的“HBase”。
  4. 单击右上角的时间编辑按钮,设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
  5. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

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

参考信息

不涉及。