文档首页/ MapReduce服务 MRS/ 用户指南(安卡拉区域)/ 告警参考/ ALM-45644 RocksDB的Level0层SST文件数持续超过阈值
更新时间:2024-11-29 GMT+08:00

ALM-45644 RocksDB的Level0层SST文件数持续超过阈值

告警解释

系统以用户配置的告警周期(metrics.reporter.alarm.job.alarm.rocksdb.metrics.duration,默认180s)检查作业RocksDB监控数据,如果作业RocksDB的Level0层SST文件数持续达到用户配置的阈值(state.backend.rocksdb.level0_slowdown_writes_trigger,默认20),则发送告警。当作业RocksDB的Level0层SST文件数小于或等于阈值,则告警恢复。

告警属性

告警ID

告警级别

告警类型

业务类型

是否可自动清除

45644

次要

业务质量告警

Flink

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

应用名

产生告警的应用名称。

任务名

产生告警的作业名称。

用户名

产生告警的用户名称。

附加信息

ThreshHoldValue

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

CurrentValue

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

对系统的影响

Flink作业RocksDB的Level0层SST文件数持续超过阈值,主要反应的是Flink作业的CheckPoint的性能,对FlinkServer本身没有影响。

可能原因

Flink作业RocksDB的Level0层SST文件数持续超过阈值可能原因:

  • RocksDB的Compaction压力过大,同时会存在“ALM-45646 RocksDB的Pending Compaction持续超过阈值”和“ALM-45647 RocksDB的Pending Compaction预估总大小持续超过阈值”告警。
  • Level0层SST文件数过多。

处理步骤

检查是否RocksDB的Compaction压力过大并伴随ALM-45646告警

  1. 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”。
  2. 在告警列表中,查看是否存在告警“ALM-45646 RocksDB的Pending Compaction持续超过阈值”。

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

  3. 参考“ALM-45646 RocksDB的Pending Compaction持续超过阈值”章节处理对应的告警。
  4. ALM-45646告警全部恢复后,等待几分钟,检查本告警是否恢复。

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

检查是否RocksDB的Compaction压力过大并伴随ALM-45647告警

  1. 在告警列表中,查看是否存在告警“ALM-45647 RocksDB的Pending Compaction预估总大小持续超过阈值”。

    • 是,执行6
    • 否,执行8

  2. 参考“ALM-45647 RocksDB的Pending Compaction预估总大小持续超过阈值”章节处理对应的告警。
  3. ALM-45647告警全部恢复后,等待几分钟,检查本告警是否恢复。

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

在TaskManager日志检查是否Level0层SST文件数过多并收集日志

  1. 使用具有FlinkServer管理操作权限的用户登录FusionInsight Manager。
  2. 选择“运维 > 告警 > 告警 > ALM-45644 RocksDB的Level0层SST文件数持续超过阈值”,检查该告警的“定位信息”,查看并记录告警上报的任务名。
  3. 选择“集群 > 服务 > Yarn”,单击“ResourceManager WebUI”后的链接进入Yarn原生页面。
  1. 根据告警“定位信息”中的任务名找到异常任务,查找并记录作业的“application ID”,是否可以在Yarn页面上查看到作业日志。

    图1 作业的“application ID”
    • 是,执行12
    • 否,执行13

  2. 单击失败作业application ID进入作业界面。

    1. 单击作业“Logs”列的“Logs”,查看并保存Jobmanager日志。
      图2 单击“Logs”
    2. 单击“Attempt ID”列的ID,单击“Logs”列的“Logs”,查看并保存Taskmanager日志,执行14
      图3 单击“Attempt ID”列的ID
      图4 单击“Logs”

      使用具有当前Flink作业的管理操作权限的用户登录Manager,选择“集群 > 服务 > Flink”,单击“Flink WebUI”后的链接,单击“作业管理”,在作业的“操作”列选择“更多 > 作业详情”也可查看Taskmanager日志。

若无法在Yarn页面上查看日志,可通过HDFS下载日志

  1. 返回Manager,选择“集群 > 服务 > HDFS”,单击“NameNode WebUI”后的链接进入HDFS页面,选择“Utilities > Browse the file system”,在“/tmp/logs/用户名/bucket-logs-tfile/任务application ID的后4位/任务的application ID”目录下载日志。

检查是否Level0层SST文件数过多

  1. 查看作业TaskManager监控日志(搜索标识:RocksDBMetricPrint)中参数“rocksdb.num-files-at-level0”的值(单位个数)是否大于或等于“state.backend.rocksdb.level0_slowdown_writes_trigger”或“state.backend.rocksdb.level0_stop_writes_trigger”的值。

    • 是:在Flink WebUI的作业开发界面,调整如下自定义参数的值并保存后执行15
      表1 调整自定义参数

      参数名称

      默认值

      说明

      state.backend.rocksdb.level0_slowdown_writes_trigger

      20

      • Level0触发slowdown的文件数
      • 推荐20-30

      state.backend.rocksdb.level0_stop_writes_trigger

      36

      • Level0触发stop的最大文件数
      • 推荐36-46
    • 否:执行16

  2. 重启作业,检查告警是否恢复。

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

  3. 联系运维人员,并发送已收集的故障日志信息。

告警清除

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

参考信息

不涉及。