Flink on Yarn 提交任务由于内存不足产生的异常调试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink on Yarn 提交任务由于内存不足产生的异常调试相关的知识,希望对你有一定的参考价值。
参考技术A 1.首先考虑为什么会出现这两个异常,重点讨论第一个异常!这里图上没有画出container ,但是我们要理解这个关系,要是还是不理解不了那再接下来看这个图:
看 flink-conf.yaml 中的内存指定,不难看出 一个TaskManager 指定4094m 共为32个slots ,不难算出 一个slot 所占的资源 128m,那这个资源到底够不够你的任务运行的呢?
这个需要你自己来衡量了,所有后来我通过指定:
这时在运行的时候 就没有了这个异常了。
但是有的时候我将并行度指定为 1 ,会出现什么问题了 , 程序很可能直接报异常 java.lang.OutOfMemoryError,因为什么单个slot的内存太小了 不足以启动这个程序,所以直接报内存溢出了,很明显是你指定的机器内存太小了 。这异常常常发生在测试的时候程序没有任务问题,一旦放到生产就会经常碰到。因为生产环境的数据量一般都要比测试大的多,所以会经常出现这种内存的问题。
以上是关于Flink on Yarn 提交任务由于内存不足产生的异常调试的主要内容,如果未能解决你的问题,请参考以下文章
flink on yarn之per-job方式部署超时的一种解决方法