ALM-45648 RocksDB持续发生Write-Stopped
告警解释
系统以用户配置的告警周期(metrics.reporter.alarm.job.alarm.rocksdb.metrics.duration,默认180s)检查作业RocksDB监控数据,如果作业RocksDB持续出现is-write-stopped,则发送告警。当作业RocksDB在同一个告警周期内不再或不连续出现is-write-stopped,则告警恢复。
本章节仅适用于MRS 3.3.0-LTS及之后版本。
告警属性
| 告警ID | 告警级别 | 是否可自动清除 |
|---|---|---|
| 45648 | 次要 | 是 |
告警参数
| 参数名称 | 参数含义 |
|---|---|
| 来源 | 产生告警的集群名称。 |
| 服务名 | 产生告警的服务名称。 |
| 应用名 | 产生告警的应用名称。 |
| 角色名 | 产生告警的角色名称。 |
| 任务名 | 产生告警的作业名称。 |
对系统的影响
当Flink作业RocksDB持续发生is-write-stopped时,通常表明Checkpoint过程中的写入压力较高,可能影响作业的Checkpoint效率,但对FlinkServer本身没有影响。
可能原因
- MemTable太多,伴随有“ALM-45643 RocksDB的MemTable大小持续超过阈值”的告警。
- Level0层SST文件数太多,伴随有“ALM-45644 RocksDB的Level0层SST文件数持续超过阈值”的告警。
- 预估Compaction的大小超过阈值,伴随有“ALM-45647 RocksDB的Pending Compaction预估总大小持续超过阈值”的告警。
处理步骤
检查是否MemTable太多
- 在Manager首页,选择“运维 > 告警 > 告警”。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 在告警列表中,查看是否存在告警“ALM-45643 RocksDB的MemTable大小持续超过阈值”。
- 参考ALM-45643 RocksDB的MemTable大小持续超过阈值章节处理对应的告警。
- ALM-45643告警全部恢复后,等待几分钟,检查本告警是否恢复。
- 是,处理完毕。
- 否,执行步骤 5。
检查是否Level0层SST文件数太多
- 在Manager首页,选择“运维 > 告警 > 告警”。
- 在告警列表中,查看是否存在告警“ALM-45644 RocksDB的Level0层SST文件数持续超过阈值”。
- 参考ALM-45644 RocksDB的Level0层SST文件数持续超过阈值章节处理对应的告警。
- ALM-45644告警全部恢复后,等待几分钟,检查本告警是否恢复。
- 是,处理完毕。
- 否,执行步骤 9。
检查是否预估Compaction的大小超过阈值
- 在告警列表中,查看是否存在告警“ALM-45647 RocksDB的Pending Compaction预估总大小持续超过阈值”。
- 参考ALM-45647 RocksDB的Pending Compaction预估总大小持续超过阈值章节处理对应的告警。
- ALM-45647告警全部恢复后,等待几分钟,检查本告警是否恢复。
- 是,处理完毕。
- 否,执行步骤 12。
收集故障信息
在Yarn页面上查看并保存日志
- 使用具有当前Flink作业管理操作权限的用户登录Manager。
- 选择“运维 > 告警 > 告警 > ALM-45648 RocksDB持续发生Write-Stopped”,检查该告警的“定位信息”,查看并记录告警上报的任务名。
- 选择“集群 > 服务 > Yarn”,单击“ResourceManager Web UI”后的链接进入Yarn原生页面。
- 根据告警“定位信息”中的任务名找到异常任务,查找并记录作业的“application ID”,是否可以在Yarn页面上查看到作业日志。 图1 作业的“application ID”
- 单击失败作业的application ID进入作业界面。
- 单击作业“Logs”列的“Logs”,查看并保存JobManager日志。 图2 单击“Logs”
- 单击“Attempt ID”列的ID,单击“Logs”列的“Logs”,查看并保存TaskManager日志。 图3 单击“Attempt ID”列的ID
图4 单击“Logs”
使用具有当前Flink作业管理操作权限的用户登录Manager,选择“集群 > 服务 > Flink”,单击“Flink WebUI”后的链接,单击“作业管理”,单击对应作业“操作”列的“作业详情”,也可查看失败作业的TaskManager日志。
- 单击作业“Logs”列的“Logs”,查看并保存JobManager日志。
- 查看作业日志进行故障修复,或联系运维人员,并发送已收集的故障日志信息,操作结束。
通过HDFS下载日志
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。