You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by zhiyezou <15...@qq.com> on 2021/02/07 01:40:54 UTC
回复: fink on yarn per job container 被杀
Hi
实在不好意思,没事先检查链接。https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&mid=2247490197&idx=1&sn=b0893a9bf12fbcae76852a156302de95
可以先看下是否正确配置了state ttl,如果配置了还出现此类问题那应该还是managed memory这块的问题,相关配置参考链接文档
------------------ 原始邮件 ------------------
发件人: "user-zh" <loukey.j@gmail.com>;
发送时间: 2021年2月5日(星期五) 下午2:03
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: Re: fink on yarn per job container 被杀
谢谢 回答.
是指的这个参数 taskmanager.memory.jvm-overhead 调整吗(微信连接有点问题)?
我看邮件列表很多大佬的回答基本上都是要调大堆外内存。
难道 rocksdb 就申请内存的时候就控制不住上限吗?我的state 是会一直增长,但是我希望rocksDB 内存能在我设置的范围内,不至于被
yarn kill . 这块要能实现吗?
zhiyezou <1530130567@qq.com> 于2021年2月5日周五 下午1:25写道:
> Hi
> &nbsp; &nbsp;可以先jvm-overhead相关配置,具体原理及参数请参考这篇文章,
> https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&amp;mid=2247490197&amp;;idx=1&amp;sn=b0893a9bf12fbcae76852a156302de95
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:
> "user-zh"
> <
> loukey.j@gmail.com&gt;;
> 发送时间:&nbsp;2021年2月4日(星期四) 下午5:46
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
> 主题:&nbsp;fink on yarn per job container 被杀
>
>
>
> 各位大佬好
> &nbsp;rocksDB state 场景下 state 过大 被杀。 有啥好的解决办法? 为啥在 flink 1.10.1 中
> taskmanager.memory.managed.size&nbsp; 限制不住 rocksDB 内存申请?改如何控制上线?
> java.lang.Exception: Container
> [pid=137231,containerID=container_e118_1611713951789_92045_01_000003]
> is running beyond physical memory limits. Current usage: 4.1 GB of 4 GB
> physical memory used; 8.3 GB of 8.4 GB virtual memory used. Killing
> container.
> Dump of the process-tree for container_e118_1611713951789_92045_01_000003 :
> &nbsp;&nbsp;&nbsp; |- PID PPID PGRPID SESSID CMD_NAME
> USER_MODE_TIME(MILLIS) SYSTEM_TIME(
> MILLIS) VMEM_USAGE(BYTES) RSSMEM_USAGE(PAGES) FULL_CMD_LINE
> &nbsp;&nbsp;&nbsp; |- 137259 137231 137231 137231 (java) 3935 488
> 8764928000 1086082
> /app/jdk/bin/java -Xmx2029372037 -Xms2029372037 -XX:MaxDirectMemorySize=
> 493921243 -XX:MaxMetaspaceSize=268435456 -XX:+HeapDumpOnOutOfMemoryError -
>
> Dlog.file=/HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.log
> -Dlog4j.configuration=file:./log4j.properties org.apache.flink.yarn.
> YarnTaskExecutorRunner -D taskmanager.memory.framework.off-heap.size=
> 134217728b -D taskmanager.memory.network.max=359703515b -D
> taskmanager.memory.network.min=359703515b -D
> taskmanager.memory.framework.heap.size=134217728b -D
> taskmanager.memory.managed.size=1073741824b -D taskmanager.cpu.cores=1.0 -D
> taskmanager.memory.task.heap.size=1895154309b -D
> taskmanager.memory.task.off-heap.size=0b --configDir .
> -Djobmanager.rpc.address=cnsz22pl377
> -Dweb.port=0
> -Dweb.tmpdir=/tmp/flink-web-8a1097fe-7fbc-4a8b-ad06-8701ba8262bc
> -Djobmanager.rpc.port=18918 -Drest.address=CNSZ22PL377
> &nbsp;&nbsp;&nbsp; |- 137231 137229 137231 137231 (bash) 0 0 115855360 356
> /bin/bash -c
> /app/jdk/bin/java -Xmx2029372037 -Xms2029372037 -XX:MaxDirectMemorySize=
> 493921243 -XX:MaxMetaspaceSize=268435456 -XX:+HeapDumpOnOutOfMemoryError -
>
> Dlog.file=/HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.log
> -Dlog4j.configuration=file:./log4j.properties org.apache.flink.yarn.
> YarnTaskExecutorRunner -D taskmanager.memory.framework.off-heap.size=
> 134217728b -D taskmanager.memory.network.max=359703515b -D
> taskmanager.memory.network.min=359703515b -D
> taskmanager.memory.framework.heap.size=134217728b -D
> taskmanager.memory.managed.size=1073741824b -D taskmanager.cpu.cores=1.0 -D
> taskmanager.memory.task.heap.size=1895154309b -D
> taskmanager.memory.task.off-heap.size=0b --configDir . -Djobmanager
> .rpc.address='cnsz22pl377' -Dweb.port='0' -Dweb.tmpdir=
> '/tmp/flink-web-8a1097fe-7fbc-4a8b-ad06-8701ba8262bc'
> -Djobmanager.rpc.port=
> '18918' -Drest.address='CNSZ22PL377' 1&gt;
>
> /HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.out
> 2&gt;
> /HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.err
>
>
> *state.backend.rocksdb.memory.fixed-per-slot* 1024M
> *state.backend.rocksdb.memory.managed* true
> *taskmanager.memory.managed.size* 1024M
回复: fink on yarn per job container 被杀
Posted by zhiyezou <15...@qq.com>.
Hi
1. 这块应该会涉及到rocksdb自身的内存管理,不确定和状态增长是否有关,没有深入研究,可以找唐云大佬问下;
2. 如果state.backend.rocksdb.localdir(默认none)这个参数没有配置,flink会把状态数据放在NodeManager的LOCAL_DIRS目录下(对应flink的配置是io.tmp.dirs)可以看下官网对于该配置的解释。 存储路径大概长这个样子:${LOCAL_DIRS}/usercache/xx/appcache/application_xx/flink-io-860fdbc2-f321-4f08-bce6-88db85477e1e/
------------------ 原始邮件 ------------------
发件人: "user-zh" <loukey.j@gmail.com>;
发送时间: 2021年2月9日(星期二) 中午11:23
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: Re: fink on yarn per job container 被杀
谢谢。看了相关文章 和邮件列表类似的问题,中心思路都是调大堆外内存。 还是有几个疑问
1、在 flink 1.10 中 在state 不断增长的情况下 是否没办法控制 rocksdb 内存的增长? 导致 有container 被
kill 的风险。rocksdb 没有当内存不足时就clear 内存刷磁盘的动作?
2、当使用 rocksdbStateBackend 时 如果配置的是 hdfs 路径。rocksdb 是否还会有本地文件生成。在 tm
节点上一直没有找到相关文件。
zhiyezou <1530130567@qq.com> 于2021年2月7日周日 上午9:41写道:
> Hi
> 实在不好意思,没事先检查链接。
> https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&amp;mid=2247490197&amp;idx=1&amp;sn=b0893a9bf12fbcae76852a156302de95
> 可以先看下是否正确配置了state ttl,如果配置了还出现此类问题那应该还是managed memory这块的问题,相关配置参考链接文档
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:
> "user-zh"
> <
> loukey.j@gmail.com&gt;;
> 发送时间:&nbsp;2021年2月5日(星期五) 下午2:03
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
> 主题:&nbsp;Re: fink on yarn per job container 被杀
>
>
>
> 谢谢 回答.
> &nbsp;&nbsp;&nbsp; 是指的这个参数 taskmanager.memory.jvm-overhead 调整吗(微信连接有点问题)?
> 我看邮件列表很多大佬的回答基本上都是要调大堆外内存。
> 难道 rocksdb 就申请内存的时候就控制不住上限吗?我的state 是会一直增长,但是我希望rocksDB 内存能在我设置的范围内,不至于被
> yarn&nbsp; kill . 这块要能实现吗?
>
> zhiyezou <1530130567@qq.com&gt; 于2021年2月5日周五 下午1:25写道:
>
> &gt; Hi
> &gt; &amp;nbsp; &amp;nbsp;可以先jvm-overhead相关配置,具体原理及参数请参考这篇文章,
> &gt;
> https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&amp;amp;mid=2247490197&amp;amp;;idx=1&amp;amp;sn=b0893a9bf12fbcae76852a156302de95
> &gt
> <https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&amp;amp;mid=2247490197&amp;amp;;idx=1&amp;amp;sn=b0893a9bf12fbcae76852a156302de95&gt>
> ;
> &gt;
> &gt;
> &gt;
> &gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
> &gt; 发件人:
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> "user-zh"
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> <
> &gt; loukey.j@gmail.com&amp;gt;;
> &gt; 发送时间:&amp;nbsp;2021年2月4日(星期四) 下午5:46
> &gt; 收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
> &gt;
> &gt; 主题:&amp;nbsp;fink on yarn per job container 被杀
> &gt;
> &gt;
> &gt;
> &gt; 各位大佬好
> &gt; &amp;nbsp;rocksDB state 场景下 state 过大 被杀。 有啥好的解决办法? 为啥在 flink 1.10.1 中
> &gt; taskmanager.memory.managed.size&amp;nbsp; 限制不住 rocksDB 内存申请?改如何控制上线?
> &gt; java.lang.Exception: Container
> &gt; [pid=137231,containerID=container_e118_1611713951789_92045_01_000003]
> &gt; is running beyond physical memory limits. Current usage: 4.1 GB of 4
> GB
> &gt; physical memory used; 8.3 GB of 8.4 GB virtual memory used. Killing
> &gt; container.
> &gt; Dump of the process-tree for
> container_e118_1611713951789_92045_01_000003 :
> &gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; |- PID PPID PGRPID SESSID CMD_NAME
> &gt; USER_MODE_TIME(MILLIS) SYSTEM_TIME(
> &gt; MILLIS) VMEM_USAGE(BYTES) RSSMEM_USAGE(PAGES) FULL_CMD_LINE
> &gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; |- 137259 137231 137231 137231 (java)
> 3935 488
> &gt; 8764928000 1086082
> &gt; /app/jdk/bin/java -Xmx2029372037 -Xms2029372037
> -XX:MaxDirectMemorySize=
> &gt; 493921243 -XX:MaxMetaspaceSize=268435456
> -XX:+HeapDumpOnOutOfMemoryError -
> &gt;
> &gt;
> Dlog.file=/HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.log
> &gt; -Dlog4j.configuration=file:./log4j.properties org.apache.flink.yarn.
> &gt; YarnTaskExecutorRunner -D taskmanager.memory.framework.off-heap.size=
> &gt; 134217728b -D taskmanager.memory.network.max=359703515b -D
> &gt; taskmanager.memory.network.min=359703515b -D
> &gt; taskmanager.memory.framework.heap.size=134217728b -D
> &gt; taskmanager.memory.managed.size=1073741824b -D
> taskmanager.cpu.cores=1.0 -D
> &gt; taskmanager.memory.task.heap.size=1895154309b -D
> &gt; taskmanager.memory.task.off-heap.size=0b --configDir .
> &gt; -Djobmanager.rpc.address=cnsz22pl377
> &gt; -Dweb.port=0
> &gt; -Dweb.tmpdir=/tmp/flink-web-8a1097fe-7fbc-4a8b-ad06-8701ba8262bc
> &gt; -Djobmanager.rpc.port=18918 -Drest.address=CNSZ22PL377
> &gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; |- 137231 137229 137231 137231 (bash)
> 0 0 115855360 356
> &gt; /bin/bash -c
> &gt; /app/jdk/bin/java -Xmx2029372037 -Xms2029372037
> -XX:MaxDirectMemorySize=
> &gt; 493921243 -XX:MaxMetaspaceSize=268435456
> -XX:+HeapDumpOnOutOfMemoryError -
> &gt;
> &gt;
> Dlog.file=/HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.log
> &gt; -Dlog4j.configuration=file:./log4j.properties org.apache.flink.yarn.
> &gt; YarnTaskExecutorRunner -D taskmanager.memory.framework.off-heap.size=
> &gt; 134217728b -D taskmanager.memory.network.max=359703515b -D
> &gt; taskmanager.memory.network.min=359703515b -D
> &gt; taskmanager.memory.framework.heap.size=134217728b -D
> &gt; taskmanager.memory.managed.size=1073741824b -D
> taskmanager.cpu.cores=1.0 -D
> &gt; taskmanager.memory.task.heap.size=1895154309b -D
> &gt; taskmanager.memory.task.off-heap.size=0b --configDir . -Djobmanager
> &gt; .rpc.address='cnsz22pl377' -Dweb.port='0' -Dweb.tmpdir=
> &gt; '/tmp/flink-web-8a1097fe-7fbc-4a8b-ad06-8701ba8262bc'
> &gt; -Djobmanager.rpc.port=
> &gt; '18918' -Drest.address='CNSZ22PL377' 1&amp;gt;
> &gt;
> &gt;
> /HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.out
> &gt; 2&amp;gt;
> &gt;
> /HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.err
> &gt;
> &gt;
> &gt; *state.backend.rocksdb.memory.fixed-per-slot* 1024M
> &gt; *state.backend.rocksdb.memory.managed* true
> &gt; *taskmanager.memory.managed.size* 1024M
Re: fink on yarn per job container 被杀
Posted by key lou <lo...@gmail.com>.
谢谢。看了相关文章 和邮件列表类似的问题,中心思路都是调大堆外内存。 还是有几个疑问
1、在 flink 1.10 中 在state 不断增长的情况下 是否没办法控制 rocksdb 内存的增长? 导致 有container 被
kill 的风险。rocksdb 没有当内存不足时就clear 内存刷磁盘的动作?
2、当使用 rocksdbStateBackend 时 如果配置的是 hdfs 路径。rocksdb 是否还会有本地文件生成。在 tm
节点上一直没有找到相关文件。
zhiyezou <15...@qq.com> 于2021年2月7日周日 上午9:41写道:
> Hi
> 实在不好意思,没事先检查链接。
> https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&mid=2247490197&idx=1&sn=b0893a9bf12fbcae76852a156302de95
> 可以先看下是否正确配置了state ttl,如果配置了还出现此类问题那应该还是managed memory这块的问题,相关配置参考链接文档
>
>
>
>
> ------------------ 原始邮件 ------------------
> 发件人:
> "user-zh"
> <
> loukey.j@gmail.com>;
> 发送时间: 2021年2月5日(星期五) 下午2:03
> 收件人: "user-zh"<user-zh@flink.apache.org>;
>
> 主题: Re: fink on yarn per job container 被杀
>
>
>
> 谢谢 回答.
> 是指的这个参数 taskmanager.memory.jvm-overhead 调整吗(微信连接有点问题)?
> 我看邮件列表很多大佬的回答基本上都是要调大堆外内存。
> 难道 rocksdb 就申请内存的时候就控制不住上限吗?我的state 是会一直增长,但是我希望rocksDB 内存能在我设置的范围内,不至于被
> yarn kill . 这块要能实现吗?
>
> zhiyezou <1530130567@qq.com> 于2021年2月5日周五 下午1:25写道:
>
> > Hi
> > &nbsp; &nbsp;可以先jvm-overhead相关配置,具体原理及参数请参考这篇文章,
> >
> https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&amp;mid=2247490197&amp;;idx=1&amp;sn=b0893a9bf12fbcae76852a156302de95
> >
> <https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&amp;mid=2247490197&amp;;idx=1&amp;sn=b0893a9bf12fbcae76852a156302de95>>
> ;
> >
> >
> >
> > ------------------&nbsp;原始邮件&nbsp;------------------
> > 发件人:
> >
> "user-zh"
> >
> <
> > loukey.j@gmail.com&gt;;
> > 发送时间:&nbsp;2021年2月4日(星期四) 下午5:46
> > 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
> >
> > 主题:&nbsp;fink on yarn per job container 被杀
> >
> >
> >
> > 各位大佬好
> > &nbsp;rocksDB state 场景下 state 过大 被杀。 有啥好的解决办法? 为啥在 flink 1.10.1 中
> > taskmanager.memory.managed.size&nbsp; 限制不住 rocksDB 内存申请?改如何控制上线?
> > java.lang.Exception: Container
> > [pid=137231,containerID=container_e118_1611713951789_92045_01_000003]
> > is running beyond physical memory limits. Current usage: 4.1 GB of 4
> GB
> > physical memory used; 8.3 GB of 8.4 GB virtual memory used. Killing
> > container.
> > Dump of the process-tree for
> container_e118_1611713951789_92045_01_000003 :
> > &nbsp;&nbsp;&nbsp; |- PID PPID PGRPID SESSID CMD_NAME
> > USER_MODE_TIME(MILLIS) SYSTEM_TIME(
> > MILLIS) VMEM_USAGE(BYTES) RSSMEM_USAGE(PAGES) FULL_CMD_LINE
> > &nbsp;&nbsp;&nbsp; |- 137259 137231 137231 137231 (java)
> 3935 488
> > 8764928000 1086082
> > /app/jdk/bin/java -Xmx2029372037 -Xms2029372037
> -XX:MaxDirectMemorySize=
> > 493921243 -XX:MaxMetaspaceSize=268435456
> -XX:+HeapDumpOnOutOfMemoryError -
> >
> >
> Dlog.file=/HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.log
> > -Dlog4j.configuration=file:./log4j.properties org.apache.flink.yarn.
> > YarnTaskExecutorRunner -D taskmanager.memory.framework.off-heap.size=
> > 134217728b -D taskmanager.memory.network.max=359703515b -D
> > taskmanager.memory.network.min=359703515b -D
> > taskmanager.memory.framework.heap.size=134217728b -D
> > taskmanager.memory.managed.size=1073741824b -D
> taskmanager.cpu.cores=1.0 -D
> > taskmanager.memory.task.heap.size=1895154309b -D
> > taskmanager.memory.task.off-heap.size=0b --configDir .
> > -Djobmanager.rpc.address=cnsz22pl377
> > -Dweb.port=0
> > -Dweb.tmpdir=/tmp/flink-web-8a1097fe-7fbc-4a8b-ad06-8701ba8262bc
> > -Djobmanager.rpc.port=18918 -Drest.address=CNSZ22PL377
> > &nbsp;&nbsp;&nbsp; |- 137231 137229 137231 137231 (bash)
> 0 0 115855360 356
> > /bin/bash -c
> > /app/jdk/bin/java -Xmx2029372037 -Xms2029372037
> -XX:MaxDirectMemorySize=
> > 493921243 -XX:MaxMetaspaceSize=268435456
> -XX:+HeapDumpOnOutOfMemoryError -
> >
> >
> Dlog.file=/HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.log
> > -Dlog4j.configuration=file:./log4j.properties org.apache.flink.yarn.
> > YarnTaskExecutorRunner -D taskmanager.memory.framework.off-heap.size=
> > 134217728b -D taskmanager.memory.network.max=359703515b -D
> > taskmanager.memory.network.min=359703515b -D
> > taskmanager.memory.framework.heap.size=134217728b -D
> > taskmanager.memory.managed.size=1073741824b -D
> taskmanager.cpu.cores=1.0 -D
> > taskmanager.memory.task.heap.size=1895154309b -D
> > taskmanager.memory.task.off-heap.size=0b --configDir . -Djobmanager
> > .rpc.address='cnsz22pl377' -Dweb.port='0' -Dweb.tmpdir=
> > '/tmp/flink-web-8a1097fe-7fbc-4a8b-ad06-8701ba8262bc'
> > -Djobmanager.rpc.port=
> > '18918' -Drest.address='CNSZ22PL377' 1&gt;
> >
> >
> /HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.out
> > 2&gt;
> >
> /HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.err
> >
> >
> > *state.backend.rocksdb.memory.fixed-per-slot* 1024M
> > *state.backend.rocksdb.memory.managed* true
> > *taskmanager.memory.managed.size* 1024M