更新时间:2024-12-06 GMT+08:00

ALM-45648 RocksDB持续发生Write-Stopped

本章节适用于MRS 3.3.0及以后版本。

告警解释

系统以用户配置的告警周期(metrics.reporter.alarm.job.alarm.rocksdb.metrics.duration,默认180s)检查作业RocksDB监控数据,如果作业RocksDB持续出现is-write-stopped,则发送告警。当作业RocksDB在同一个告警周期内不再或不连续出现is-write-stopped,则告警恢复。

告警属性

告警ID

告警级别

是否可自动清除

45648

次要

告警参数

参数名称

参数含义

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

应用名

产生告警的应用名称。

角色名

产生告警的角色名称。

任务名

产生告警的作业名称。

对系统的影响

Flink作业RocksDB持续发生is-write-stopped,主要反应的是Flink作业的CheckPoint的性能,对FlinkServer本身没有影响。

可能原因

Flink作业RocksDB持续发生is-write-stopped可能的原因:

  • MemTable太多,伴随有“ALM-45643 RocksDB的MemTable大小持续超过阈值”的告警。
  • Level0层SST文件数太多,伴随有“ALM-45644 RocksDB的Level0层SST文件数持续超过阈值”的告警。
  • 预估Compaction的大小超过阈值,伴随有“ALM-45647 RocksDB的Pending Compaction预估总大小持续超过阈值”的告警。

处理步骤

检查是否MemTable太多

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

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

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

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

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

  1. 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”。
  2. 在告警列表中,查看是否存在告警“ALM-45644 RocksDB的Level0层SST文件数持续超过阈值”。

    • 是,执行7
    • 否,执行9

  3. 参考ALM-45644 RocksDB的Level0层SST文件数持续超过阈值章节处理对应的告警。
  4. ALM-45644告警全部恢复后,等待几分钟,检查本告警是否恢复。

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

检查是否预估Compaction的大小超过阈值

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

    • 是,执行10
    • 否,执行12

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

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

收集故障信息

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

    图1 作业的“application ID”
    • 是,执行16
    • 否,执行18

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

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

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

  3. 查看作业日志进行故障修复,或联系运维人员,并发送已收集的故障日志信息。操作结束。

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

  1. 返回Manager,选择“集群 > 服务 > HDFS”,单击“NameNode WebUI”后的链接进入HDFS页面,选择“Utilities > Browse the file system”,在“/tmp/logs/用户名/bucket-logs-tfile/任务application ID的后4位/任务的application ID”目录下载日志。
  2. 查看失败作业日志进行故障修复,或联系运维人员,并发送已收集的故障日志信息。

告警清除

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

参考信息

不涉及。