Hi! 图片不能显示,建议上传到外部图床,或通过文字的方式贴上配置。
“多次跑同一个任务”大概是几次?用的是什么 Flink 版本?如果有可能的话能否贴一下用户代码?OOM 是 metaspace 的 OOM 吗?还是其他的? liuyanwei75 提到的 meta space OOM 问题目前确实是存在的,而且目前没有很好的解决方案。 邮箱 <liuyanwe...@126.com> 于2022年3月12日周六 02:07写道: > 我之前也有这个现象,就是不停的启停同一个job,Flink的meta space > 内存会不断增加,我用arts监控内存发现通过Flink的类加载器child load策略加载的类并没有释放 > > 发自我的iPhone > > > 在 2022年3月11日,21:10,yu'an huang <h.yuan...@gmail.com> 写道: > > > > 你好,建议将Task Manager内存dump下来使用一些内存分析工具比如visual vm,分析下是否存在内存泄露 > > > >> On Fri, 11 Mar 2022 at 9:28 AM, renshang...@deepexi.com < > >> renshang...@deepexi.com> wrote: > >> > >> 各位大佬好: > >> 是这样的,我在跑一个批处理任务的过程中发现,在Flink > >> Session模式下,多次重跑同一个批处理任务会导致系统内存被耗尽,最终导致系统oom之后将taskmanager进程杀掉。 > >> > >> 按道理说一个job跑完,它所占用的资源都应该释放掉吧,以便后续的job继续执行。但是测试结果显示并没有 > >> > >> 1、环境: > >> 5节点的flink 1.14.3 standalone集群,宿主机是64G内存,每个节点分配33G内存,22个slot > >> 5节点的Hadoop 3.3.1 集群,Hive 3.1.2,iceberg 0.13.1 > >> 数据以iceberg表的形式存储在HDFS上 > >> 2、批处理任务: > >> 将表A的5千万条数据,对其主键进行Hash之后,插入另一个表B中。SQL语句如下: > >> insert into flinal_temp > >> select step_id, > >> param_id, > >> wafer_id, > >> chip_id, > >> product_id, > >> hive_partition_content, > >> cast (wafer_start_date as date), > >> (HASH_CODE(step_id || param_id || chip_id || wafer_id)) % 100 as part_id > >> from test_5qw; > >> 3、出现问题: > >> 多次跑同一个任务(非并行),就可以通过top命令观察到系统可用内存越来越少,到一定程度之后会触发oom杀掉taskmanager进程 > >> 4、DAG图 > >> 4、Flink配置 > >> > >> > >> 5、集群节点 > >> 6、其中两台的内存使用情况 > >> > >> 目前是无作业运行状态,两台内存占有率均达到了90%,Flink任务刚启动时,内存占有率仅为15%左右 > >> > >> 手动触发GC也没有效果,内存并不会下降 > >> 7、触发oom杀进程之后 > >> 内存恢复正常 > >> 因为OOM系统杀掉74904 Taskmanager进程 > >> > >> 可以看到因为内存OOM导致TM被杀掉,一台主机64G内存,分给TM 33G,按道理说不应该超过分配的内存才对 > >> > >> 请大佬们帮忙看一下吧,感谢!!! > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> renshang...@deepexi.com > >> >