You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flink K8s会话集群作业提交失败报无法分配内存且blob堆积问题咨询

根因说明

作业提交过程中BlobServer向持久化存储写入作业元数据时触发IO异常(日志中提示内存分配失败,本质是写入操作底层系统调用出错),此时作业还未完成完整的提交流程,没有进入Flink的作业调度生命周期,所以不会在Web UI展示,也不会触发正常作业结束后的HA资源清理逻辑,最终导致blob目录残留堆积。默认配置下这类提交阶段的异常不会自动触发重试。

相关配置说明

1. 开启提交失败作业自动重试

你可以调整以下配置实现提交阶段异常的作业自动重试:

  • kubernetes.job-submission.max-attempts:默认值为1,调整为3~5即可开启K8s环境下作业提交的失败重试,提交失败后会自动尝试重新提交作业
  • high-availability.job-recovery.timeout:默认值为10分钟,该参数控制HA模式下失联作业的恢复超时阈值,超过该阈值还未恢复的作业会被标记为失败,触发关联资源的自动清理,可根据业务需要调整为3~5分钟加快异常作业的判定速度

2. 自动清理残留blob目录

搭配以下配置可避免残留目录持续堆积:

  • blob.cleanup.interval:默认值为1小时,控制BlobServer定期扫描清理过期blob资源的时间间隔,保持默认或者调整为30分钟都可
  • jobstore.expiration-time:Flink 1.13及以上版本支持该配置,默认值为1小时,控制JobStore中异常残留的作业元数据的过期时间,过期后会自动清理关联的所有blob目录

根因优化建议

你日志中出现的Cannot allocate memory写入错误,优先排查以下两点:

  • 排查Flink Session集群节点的系统内存占用,以及/recovery目录挂载存储的剩余可用空间,解决底层写入异常
  • 生产环境建议使用分布式存储(如HDFS、S3兼容存储)作为HA的blob存储,避免本地存储单节点故障导致的写入失败

内容的提问来源于stack exchange,提问作者aromal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 01:36:01