fink on yarn per job container 被杀

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

fink on yarn per job container 被杀

key lou
各位大佬好
 rocksDB state 场景下 state 过大 被杀。 有啥好的解决办法? 为啥在 flink 1.10.1 中
taskmanager.memory.managed.size  限制不住 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 :
    |- PID PPID PGRPID SESSID CMD_NAME USER_MODE_TIME(MILLIS) SYSTEM_TIME(
MILLIS) VMEM_USAGE(BYTES) RSSMEM_USAGE(PAGES) FULL_CMD_LINE
    |- 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
    |- 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>
/HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.out
2> /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
Reply | Threaded
Open this post in threaded view
|

回复:fink on yarn per job container 被杀

zhiyezou
Hi
   可以先jvm-overhead相关配置,具体原理及参数请参考这篇文章,https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&mid=2247490197&;idx=1&sn=b0893a9bf12fbcae76852a156302de95




------------------ 原始邮件 ------------------
发件人:                                                                                                                        "user-zh"                                                                                    <[hidden email]&gt;;
发送时间:&nbsp;2021年2月4日(星期四) 下午5:46
收件人:&nbsp;"user-zh"<[hidden email]&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
Reply | Threaded
Open this post in threaded view
|

Re: fink on yarn per job container 被杀

key lou
谢谢 回答.
    是指的这个参数 taskmanager.memory.jvm-overhead 调整吗(微信连接有点问题)?
我看邮件列表很多大佬的回答基本上都是要调大堆外内存。
难道 rocksdb 就申请内存的时候就控制不住上限吗?我的state 是会一直增长,但是我希望rocksDB 内存能在我设置的范围内,不至于被
yarn  kill . 这块要能实现吗?

zhiyezou <[hidden email]> 于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"
>                                                                     <
> [hidden email]&gt;;
> 发送时间:&nbsp;2021年2月4日(星期四) 下午5:46
> 收件人:&nbsp;"user-zh"<[hidden email]&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
Reply | Threaded
Open this post in threaded view
|

回复: fink on yarn per job container 被杀

zhiyezou
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"                                                                                    <[hidden email]&gt;;
发送时间:&nbsp;2021年2月5日(星期五) 下午2:03
收件人:&nbsp;"user-zh"<[hidden email]&gt;;

主题:&nbsp;Re: fink on yarn per job container 被杀



谢谢 回答.
&nbsp;&nbsp;&nbsp; 是指的这个参数 taskmanager.memory.jvm-overhead 调整吗(微信连接有点问题)?
我看邮件列表很多大佬的回答基本上都是要调大堆外内存。
难道 rocksdb 就申请内存的时候就控制不住上限吗?我的state 是会一直增长,但是我希望rocksDB 内存能在我设置的范围内,不至于被
yarn&nbsp; kill . 这块要能实现吗?

zhiyezou <[hidden email]&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;
&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; [hidden email]&amp;gt;;
&gt; 发送时间:&amp;nbsp;2021年2月4日(星期四) 下午5:46
&gt; 收件人:&amp;nbsp;"user-zh"<[hidden email]&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
Reply | Threaded
Open this post in threaded view
|

Re: fink on yarn per job container 被杀

key lou
谢谢。看了相关文章 和邮件列表类似的问题,中心思路都是调大堆外内存。 还是有几个疑问
1、在 flink 1.10 中 在state 不断增长的情况下 是否没办法控制 rocksdb 内存的增长? 导致 有container 被
kill 的风险。rocksdb 没有当内存不足时就clear 内存刷磁盘的动作?
 2、当使用 rocksdbStateBackend 时 如果配置的是 hdfs 路径。rocksdb 是否还会有本地文件生成。在 tm
节点上一直没有找到相关文件。


zhiyezou <[hidden email]> 于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"
>                                                                     <
> [hidden email]&gt;;
> 发送时间:&nbsp;2021年2月5日(星期五) 下午2:03
> 收件人:&nbsp;"user-zh"<[hidden email]&gt;;
>
> 主题:&nbsp;Re: fink on yarn per job container 被杀
>
>
>
> 谢谢 回答.
> &nbsp;&nbsp;&nbsp; 是指的这个参数 taskmanager.memory.jvm-overhead 调整吗(微信连接有点问题)?
> 我看邮件列表很多大佬的回答基本上都是要调大堆外内存。
> 难道 rocksdb 就申请内存的时候就控制不住上限吗?我的state 是会一直增长,但是我希望rocksDB 内存能在我设置的范围内,不至于被
> yarn&nbsp; kill . 这块要能实现吗?
>
> zhiyezou <[hidden email]&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; [hidden email]&amp;gt;;
> &gt; 发送时间:&amp;nbsp;2021年2月4日(星期四) 下午5:46
> &gt; 收件人:&amp;nbsp;"user-zh"<[hidden email]&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
Reply | Threaded
Open this post in threaded view
|

回复: fink on yarn per job container 被杀

zhiyezou
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/





------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <[hidden email]&gt;;
发送时间:&nbsp;2021年2月9日(星期二) 中午11:23
收件人:&nbsp;"user-zh"<[hidden email]&gt;;

主题:&nbsp;Re: fink on yarn per job container 被杀



谢谢。看了相关文章 和邮件列表类似的问题,中心思路都是调大堆外内存。 还是有几个疑问
1、在 flink 1.10 中 在state 不断增长的情况下 是否没办法控制 rocksdb 内存的增长? 导致 有container 被
kill 的风险。rocksdb 没有当内存不足时就clear 内存刷磁盘的动作?
&nbsp;2、当使用 rocksdbStateBackend 时 如果配置的是 hdfs 路径。rocksdb 是否还会有本地文件生成。在 tm
节点上一直没有找到相关文件。


zhiyezou <[hidden email]&gt; 于2021年2月7日周日 上午9:41写道:

&gt; Hi
&gt; 实在不好意思,没事先检查链接。
&gt; https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&amp;amp;mid=2247490197&amp;amp;idx=1&amp;amp;sn=b0893a9bf12fbcae76852a156302de95
&gt; 可以先看下是否正确配置了state ttl,如果配置了还出现此类问题那应该还是managed memory这块的问题,相关配置参考链接文档
&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; [hidden email]&amp;gt;;
&gt; 发送时间:&amp;nbsp;2021年2月5日(星期五) 下午2:03
&gt; 收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
&gt;
&gt; 主题:&amp;nbsp;Re: fink on yarn per job container 被杀
&gt;
&gt;
&gt;
&gt; 谢谢 回答.
&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; 是指的这个参数 taskmanager.memory.jvm-overhead 调整吗(微信连接有点问题)?
&gt; 我看邮件列表很多大佬的回答基本上都是要调大堆外内存。
&gt; 难道 rocksdb 就申请内存的时候就控制不住上限吗?我的state 是会一直增长,但是我希望rocksDB 内存能在我设置的范围内,不至于被
&gt; yarn&amp;nbsp; kill . 这块要能实现吗?
&gt;
&gt; zhiyezou <[hidden email]&amp;gt; 于2021年2月5日周五 下午1:25写道:
&gt;
&gt; &amp;gt; Hi
&gt; &amp;gt; &amp;amp;nbsp; &amp;amp;nbsp;可以先jvm-overhead相关配置,具体原理及参数请参考这篇文章,
&gt; &amp;gt;
&gt; https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&amp;amp;amp;mid=2247490197&amp;amp;amp;;idx=1&amp;amp;amp;sn=b0893a9bf12fbcae76852a156302de95
&gt; &amp;gt
&gt; <https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&amp;amp;amp;mid=2247490197&amp;amp;amp;;idx=1&amp;amp;amp;sn=b0893a9bf12fbcae76852a156302de95&amp;gt&gt;
&gt; ;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; ------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
&gt; &amp;gt; 发件人:
&gt; &amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&gt; "user-zh"
&gt; &amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&gt; <
&gt; &amp;gt; [hidden email]&amp;amp;gt;;
&gt; &amp;gt; 发送时间:&amp;amp;nbsp;2021年2月4日(星期四) 下午5:46
&gt; &amp;gt; 收件人:&amp;amp;nbsp;"user-zh"<[hidden email]&amp;amp;gt;;
&gt; &amp;gt;
&gt; &amp;gt; 主题:&amp;amp;nbsp;fink on yarn per job container 被杀
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; 各位大佬好
&gt; &amp;gt; &amp;amp;nbsp;rocksDB state 场景下 state 过大 被杀。 有啥好的解决办法? 为啥在 flink 1.10.1 中
&gt; &amp;gt; taskmanager.memory.managed.size&amp;amp;nbsp; 限制不住 rocksDB 内存申请?改如何控制上线?
&gt; &amp;gt; java.lang.Exception: Container
&gt; &amp;gt; [pid=137231,containerID=container_e118_1611713951789_92045_01_000003]
&gt; &amp;gt; is running beyond physical memory limits. Current usage: 4.1 GB of 4
&gt; GB
&gt; &amp;gt; physical memory used; 8.3 GB of 8.4 GB virtual memory used. Killing
&gt; &amp;gt; container.
&gt; &amp;gt; Dump of the process-tree for
&gt; container_e118_1611713951789_92045_01_000003 :
&gt; &amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; |- PID PPID PGRPID SESSID CMD_NAME
&gt; &amp;gt; USER_MODE_TIME(MILLIS) SYSTEM_TIME(
&gt; &amp;gt; MILLIS) VMEM_USAGE(BYTES) RSSMEM_USAGE(PAGES) FULL_CMD_LINE
&gt; &amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; |- 137259 137231 137231 137231 (java)
&gt; 3935 488
&gt; &amp;gt; 8764928000 1086082
&gt; &amp;gt; /app/jdk/bin/java -Xmx2029372037 -Xms2029372037
&gt; -XX:MaxDirectMemorySize=
&gt; &amp;gt; 493921243 -XX:MaxMetaspaceSize=268435456
&gt; -XX:+HeapDumpOnOutOfMemoryError -
&gt; &amp;gt;
&gt; &amp;gt;
&gt; Dlog.file=/HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.log
&gt; &amp;gt; -Dlog4j.configuration=file:./log4j.properties org.apache.flink.yarn.
&gt; &amp;gt; YarnTaskExecutorRunner -D taskmanager.memory.framework.off-heap.size=
&gt; &amp;gt; 134217728b -D taskmanager.memory.network.max=359703515b -D
&gt; &amp;gt; taskmanager.memory.network.min=359703515b -D
&gt; &amp;gt; taskmanager.memory.framework.heap.size=134217728b -D
&gt; &amp;gt; taskmanager.memory.managed.size=1073741824b -D
&gt; taskmanager.cpu.cores=1.0 -D
&gt; &amp;gt; taskmanager.memory.task.heap.size=1895154309b -D
&gt; &amp;gt; taskmanager.memory.task.off-heap.size=0b --configDir .
&gt; &amp;gt; -Djobmanager.rpc.address=cnsz22pl377
&gt; &amp;gt; -Dweb.port=0
&gt; &amp;gt; -Dweb.tmpdir=/tmp/flink-web-8a1097fe-7fbc-4a8b-ad06-8701ba8262bc
&gt; &amp;gt; -Djobmanager.rpc.port=18918 -Drest.address=CNSZ22PL377
&gt; &amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; |- 137231 137229 137231 137231 (bash)
&gt; 0 0 115855360 356
&gt; &amp;gt; /bin/bash -c
&gt; &amp;gt; /app/jdk/bin/java -Xmx2029372037 -Xms2029372037
&gt; -XX:MaxDirectMemorySize=
&gt; &amp;gt; 493921243 -XX:MaxMetaspaceSize=268435456
&gt; -XX:+HeapDumpOnOutOfMemoryError -
&gt; &amp;gt;
&gt; &amp;gt;
&gt; Dlog.file=/HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.log
&gt; &amp;gt; -Dlog4j.configuration=file:./log4j.properties org.apache.flink.yarn.
&gt; &amp;gt; YarnTaskExecutorRunner -D taskmanager.memory.framework.off-heap.size=
&gt; &amp;gt; 134217728b -D taskmanager.memory.network.max=359703515b -D
&gt; &amp;gt; taskmanager.memory.network.min=359703515b -D
&gt; &amp;gt; taskmanager.memory.framework.heap.size=134217728b -D
&gt; &amp;gt; taskmanager.memory.managed.size=1073741824b -D
&gt; taskmanager.cpu.cores=1.0 -D
&gt; &amp;gt; taskmanager.memory.task.heap.size=1895154309b -D
&gt; &amp;gt; taskmanager.memory.task.off-heap.size=0b --configDir . -Djobmanager
&gt; &amp;gt; .rpc.address='cnsz22pl377' -Dweb.port='0' -Dweb.tmpdir=
&gt; &amp;gt; '/tmp/flink-web-8a1097fe-7fbc-4a8b-ad06-8701ba8262bc'
&gt; &amp;gt; -Djobmanager.rpc.port=
&gt; &amp;gt; '18918' -Drest.address='CNSZ22PL377' 1&amp;amp;gt;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; /HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.out
&gt; &amp;gt; 2&amp;amp;gt;
&gt; &amp;gt;
&gt; /HDATA/4/yarn/logs/application_1611713951789_92045/container_e118_1611713951789_92045_01_000003/taskmanager.err
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; *state.backend.rocksdb.memory.fixed-per-slot* 1024M
&gt; &amp;gt; *state.backend.rocksdb.memory.managed* true
&gt; &amp;gt; *taskmanager.memory.managed.size* 1024M