你好,我在1.9.0升级到1.10.0的过程中,通过官网的升级说明文档了解到1.10版本在内存上有较大的变动,所以进行了一下尝试。我的环境是8核16G的内存的台式机服务器,centos7.4,JDK8u162。使用的是默认的单机集群配置,配置了4个slot。taskmanager.memory.flink.size起初开始配置是4096m,通过部署3个程序完成4个slot的分配。接着试着测试一个流处理程序往kafka里发了一条消息,这时整个flink集群就会挂掉,task manager日志里错误是Requested resource profile (ResourceProfile{UNKNOWN}) is unfulfillable,整个flink上部署的程序全部变为重启直到全部显示为“取消”状态,此时可用slot也没有了,无法再部署程序只能停了stop-cluster后再重启才会可以重新部署。这时通过查找官网上的内存更新说明,怀疑是内存不足,所以分配taskmanager.memory.flink.size为5120m和8196m,此时成功部署程序后再测试程序仍出现整个集群重启直到全部程序"取消“状态,并且slot不可分配使用,和前一次状态一样,此次分析日志是因为日志首先显示的是The heartbeat of TaskManager with id {xxxx} timed out,是acck连接超时了。
回退到1.9.0后,同样配置下,分配4096内存和4个slot的集群运行正常,请问在1.10版本是是不是还要进一步的配置一些参数或者该版本有bug需要进一步的优先? |
有没有配置TaskManager的MaxMetaspaceSize呢?1.10默认的MaxMetaspaceSize比较小,UserCodeClassLoader加载class之后容易出现Metaspace区溢出,导致TM挂掉。可以在flink-conf.yaml文件里面进行配置
env.java.opts.taskmanager: "-XX:MaxMetaspaceSize=1024m" 在 2020-03-23 14:44:42,"site" <[hidden email]> 写道: >你好,我在1.9.0升级到1.10.0的过程中,通过官网的升级说明文档了解到1.10版本在内存上有较大的变动,所以进行了一下尝试。我的环境是8核16G的内存的台式机服务器,centos7.4,JDK8u162。使用的是默认的单机集群配置,配置了4个slot。taskmanager.memory.flink.size起初开始配置是4096m,通过部署3个程序完成4个slot的分配。接着试着测试一个流处理程序往kafka里发了一条消息,这时整个flink集群就会挂掉,task manager日志里错误是Requested resource profile (ResourceProfile{UNKNOWN}) is unfulfillable,整个flink上部署的程序全部变为重启直到全部显示为“取消”状态,此时可用slot也没有了,无法再部署程序只能停了stop-cluster后再重启才会可以重新部署。这时通过查找官网上的内存更新说明,怀疑是内存不足,所以分配taskmanager.memory.flink.size为5120m和8196m,此时成功部署程序后再测试程序仍出现整个集群重启直到全部程序"取消“状态,并且slot不可分配使用,和前一次状态一样,此次分析日志是因为日志首先显示的是The heartbeat of TaskManager with id {xxxx} timed out,是acck连接超时了。 >回退到1.9.0后,同样配置下,分配4096内存和4个slot的集群运行正常,请问在1.10版本是是不是还要进一步的配置一些参数或者该版本有bug需要进一步的优先? |
Hi,
Requested resource profile (ResourceProfile{UNKNOWN}) is unfulfillable 这个应该是 jobmanager 日志里面的报错,有没有看过 taskmanager 日志,心跳超时的原因是什么? 另外,你提到你的作业是流处理,是否用了 state,statebackend 的类型是什么?在同等大小情况下,Flink 1.10 默认配置相比 Flink 1.9,会分配更多的堆外空间,而 JVM 堆空间的会变小。对于无状态或者使用 HeapStateBackend 的作业,建议是把 taskmanager.memory.managed.fraction 设成 0. 你也可以先参考一下官方文档中的升级指南[1]。 Thank you~ Xintong Song [1] https://ci.apache.org/projects/flink/flink-docs-release-1.10/zh/ops/memory/mem_migration.html On Mon, Mar 23, 2020 at 3:29 PM chenxyz <[hidden email]> wrote: > > 有没有配置TaskManager的MaxMetaspaceSize呢?1.10默认的MaxMetaspaceSize比较小,UserCodeClassLoader加载class之后容易出现Metaspace区溢出,导致TM挂掉。可以在flink-conf.yaml文件里面进行配置 > env.java.opts.taskmanager: "-XX:MaxMetaspaceSize=1024m" > > > > > > > > > > > > > > > > > > 在 2020-03-23 14:44:42,"site" <[hidden email]> 写道: > >你好,我在1.9.0升级到1.10.0的过程中,通过官网的升级说明文档了解到1.10版本在内存上有较大的变动,所以进行了一下尝试。我的环境是8核16G的内存的台式机服务器,centos7.4,JDK8u162。使用的是默认的单机集群配置,配置了4个slot。taskmanager.memory.flink.size起初开始配置是4096m,通过部署3个程序完成4个slot的分配。接着试着测试一个流处理程序往kafka里发了一条消息,这时整个flink集群就会挂掉,task > manager日志里错误是Requested resource profile (ResourceProfile{UNKNOWN}) is > unfulfillable,整个flink上部署的程序全部变为重启直到全部显示为“取消”状态,此时可用slot也没有了,无法再部署程序只能停了stop-cluster后再重启才会可以重新部署。这时通过查找官网上的内存更新说明,怀疑是内存不足,所以分配taskmanager.memory.flink.size为5120m和8196m,此时成功部署程序后再测试程序仍出现整个集群重启直到全部程序"取消“状态,并且slot不可分配使用,和前一次状态一样,此次分析日志是因为日志首先显示的是The > heartbeat of TaskManager with id {xxxx} timed out,是acck连接超时了。 > > >回退到1.9.0后,同样配置下,分配4096内存和4个slot的集群运行正常,请问在1.10版本是是不是还要进一步的配置一些参数或者该版本有bug需要进一步的优先? > |
Free forum by Nabble | Edit this page |