文档首页/ MapReduce服务 MRS/ 用户指南/ MRS集群运维/ MRS集群告警处理参考/ ALM-19038 RegionServer存在写入负载过高Region
更新时间:2025-12-11 GMT+08:00
分享

ALM-19038 RegionServer存在写入负载过高Region

告警解释

系统每30秒周期性检测HBase RegionServer实例上由于MemStore达到上限而阻断的请求数,并把请求数与阈值相比较,默认当连续5次检测到请求数超出告警阈值(默认为450)时产生该告警。

当HBase RegionServer实例上由于MemStore达到上限而阻断的请求数小于或等于阈值时,告警恢复。

该告警仅适用于MRS 3.6.0-LTS及之后版本。

告警属性

告警ID

告警级别

告警类型

业务类型

是否可自动清除

19038

次要

业务质量告警

HBase

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

附加信息

Trigger Condition

系统当前指标取值满足自定义的告警设置条件。

对系统的影响

HBase RegionServer实例由于MemStore达到上限而阻断写入请求,会导致写入性能下降。

可能原因

HBase客户端业务写入请求访问过载或存在热点。

处理步骤

检查HBase客户端业务写入请求是否存在访问过载或热点。

  1. 登录Manager界面,选择“运维 > 告警 > 告警”,查看当前告警详细信息,记录定位信息中上报告警的RegionServer实例主机名。
  2. 在Manager界面,选择“运维 > 日志 > 在线检索”,“检索内容”输入关键词“RegionTooBusy”,“服务”选择HBase服务,“主机范围”选择步骤 1中获取的主机,单击“搜索”,在搜索结果中查看并记录写入负载过高的Region名称。

    • 如果搜索结果为单一Region频繁出现RegionTooBusy,则HBase客户端业务写入请求存在热点,执行步骤 3
    • 如果搜索结果为多个Region出现RegionTooBusy,则HBase客户端业务写入请求可能存在访问过载,执行步骤 4

  3. HBase客户端业务写入请求存在热点时,可对Region进行分裂操作:

    1. 登录HBase客户端所在节点,配置环境变量并认证用户:

      cd 客户端安装目录

      source bigdata_env

      kinit 组件业务用户集群未启用Kerberos认证(普通模式)请跳过此步骤)

    2. 执行以下命令对Region进行分裂:

      split 'regionName'

      regionName步骤 2查看到的Region名称Region分裂完成后执行步骤 5

  4. HBase客户端业务写入请求可能存在访问过载,可对表进行分裂操作或修改冲洗磁盘的内存大小:

    • 对表进行分裂操作
      1. 在Manager界面,选择“集群 > 服务 > HBase”,在概览界面单击“HMaster Web UI”右侧的“HMaster(xxx,主)”链接,进入HBase WebUI页面。
      2. 在“Region Servers”区域的“Base Stats”单击上报告警的RegionServer,在该RegionServer的“Regions”区域搜索步骤 2查看到的Region名称,搜索结果所在行的第一个分隔符内容即为HBase表名称,例如搜索到的结果为“hbase,xxxx”,则HBase表名称为“hbase”。
      3. 返回HBase WebUI Home页面,在“Tables”区域中单击查看到的表名称进入表信息页面,在“Table Regions”区域查看“ReadRequests”、“WriteRequests”、“Start Key”和“End Key”列查看表的分区信息,确认表的预分区是否合理。
      4. 如果表的预分区不合理,且短时间内无整改业务预分区规划,可通过表级别分裂动作避免RegionTooBusy。
        1. 登录HBase客户端所在节点,配置环境变量并认证用户:

          cd 客户端安装目录

          source bigdata_env

          kinit 组件业务用户集群未启用Kerberos认证(普通模式)请跳过此步骤)

        2. 执行以下命令对表进行分裂:

          split 'tableName'

          表分裂完成后执行步骤 5

    • 修改冲洗磁盘的内存大小
      1. 在Manager界面,选择“集群 > 服务 > HBase > 配置”,在搜索框中搜索“hbase.hregion.memstore.flush.size”,根据实际业务调大该值以调整内存阻断的MemStore的大小,该值建议不大于256MB,否则会不利于RegionServer内存的使用。

        阻断请求的内存计算公式为:hbase.hregion.memstore.block.multiplier * hbase.hregion.memstore.flush.size

      2. 单击“保存”保存配置。单击“实例”,勾选受影响的RegionServer实例,选择“更多 > 重启实例”,在弹窗中输入用户名和密码并单击“确定”重启RegionServer实例使配置生效。

        RegionServer实例重启完成后执行步骤 5

  5. 等待5分钟,检查该告警是否恢复。

    • 是,操作结束。
    • 否,执行步骤 6

  6. 重复执行1次步骤 1~步骤 4后,等待5分钟,检查该告警是否恢复。

    • 是,操作结束。
    • 否,执行步骤 7

收集故障信息。

  1. 在Manager界面,选择“运维 > 日志 > 下载”。
  2. 在“服务”框中勾选待操作集群的“HBase”。
  3. 单击右上角的时间编辑按钮,设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
  4. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

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

参考信息

不涉及。

相关文档