flink环境1.11.0 任务部署方式yarn per-job 状态后台设置的是:env.setStateBackend(new FsStateBackend("ckPath")) 每个taskManager分配8g内存,2个slot 每10分钟做一次checkpoint,每次ck大小平均400k 任务逻辑是:source(kafka)->keyBy->timeWindow->reduce的count计数->redis source(kafka)->sink(s3 文件)
问题是任务每天都会应该container被杀,导致任务重启 Container [pid=26148,containerID=container_e02_1622516404559_0038_01_000008] is running beyond physical memory limits. Current usage: 8.0 GB of 8 GB physical memory used; 9.8 GB of 40 GB virtual memory used. Killing container
我的理解是缓存数据应该不会那么多,怎么就能达到物理内存限制呢,我的window操作,理应都是key下对应一个值,key的数据也不多,缓存应该也只记录这个状态,而且window采用的是reduce操作,来一条处理一条,增量处理,而不是processFunction的攒一批处理一次 望各位大佬帮忙看看,感谢*来自志愿者整理的flink邮件归档
可以先校对一下yarn的container的虚拟内存和物理内存比例的阈值参数(yarn-site.xml)。*来自志愿者整理的FLINK邮件归档
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。