Hi 社区,
最近我在弄 Flink on k8s,使用的 Flink 版本为 Flink 1.6。作业模式为 standalone per job 模式。 我在创建启动 jobmanager 的时候,设置的 taskmanager.heap.mb 为 2000 mb,虽然在 flink web ui 上面看到的 jobmanager 的配置, taskmanager.heap.mb 的确是 2000mb,在我启动 taskmanager deployment 的时候,我登录到 其中一个 pod 上看,发现 taskmanager 启动的 -xms 和 -xmx 都是 922mb。 我将 taskmanager.heap.mb 设置为 1000 mb,停止我的作业,重启,同样,登录到taskmanager 其中一个 pod,-xms 和 -xmx 都是 922mb,也就是说 设置的taskmanager.heap.mb 没有对 taskmanager 启动的 jvm 堆没有生效。 我看了源码,flink on k8s ,standalone per job 模式,taskmanager 会使用 taskmanager.sh 来启动。在 taskmanager.sh 中,taskmanager heap mb 是根据镜像中的,flink dist 目录下面,conf 目录中的 flink-conf.yaml 里面的配置来启动。 我现在在打镜像的时候,也会把flink-dist 目录打进去,同样把 taskmanager.heap.mb动态传入到 flink-conf.yaml中,但是最终我在启动我的作业的时候,登录到 taskmanager 的一个 pod 上面查看,发现其 flink-conf.yaml 里面, taskmanager.heap.mb 始终是 1024. 是不是在什么地方,把 taskmanager.heap.mb 写死到了 flink-conf.yaml 中呢? Best, LakeShen |
应该没有其他地方去写 flink-conf.yaml,能把具体用来打镜像、动态写配置的命令或者脚本发一下吗?
另外你这个问题还有一种解决方案,是 taskmanager.heap.mb 通过 -D 参数传给 taskmanager.sh。可以在 docker-compose.yaml 中 taskmanager command 处追加 -Dtaskmanager.heap.mb=2000m Thank you~ Xintong Song On Thu, Apr 23, 2020 at 5:59 PM LakeShen <[hidden email]> wrote: > Hi 社区, > > 最近我在弄 Flink on k8s,使用的 Flink 版本为 Flink 1.6。作业模式为 standalone per job 模式。 > > 我在创建启动 jobmanager 的时候,设置的 taskmanager.heap.mb 为 2000 mb,虽然在 flink web ui > 上面看到的 jobmanager 的配置, taskmanager.heap.mb 的确是 2000mb,在我启动 taskmanager > deployment 的时候,我登录到 其中一个 pod 上看,发现 taskmanager 启动的 -xms 和 -xmx 都是 922mb。 > > 我将 taskmanager.heap.mb 设置为 1000 mb,停止我的作业,重启,同样,登录到taskmanager 其中一个 > pod,-xms 和 -xmx 都是 922mb,也就是说 设置的taskmanager.heap.mb 没有对 taskmanager 启动的 > jvm 堆没有生效。 > > 我看了源码,flink on k8s ,standalone per job 模式,taskmanager 会使用 taskmanager.sh > 来启动。在 taskmanager.sh 中,taskmanager heap mb 是根据镜像中的,flink dist 目录下面,conf > 目录中的 flink-conf.yaml 里面的配置来启动。 > > 我现在在打镜像的时候,也会把flink-dist 目录打进去,同样把 taskmanager.heap.mb动态传入到 > flink-conf.yaml中,但是最终我在启动我的作业的时候,登录到 taskmanager 的一个 pod 上面查看,发现其 > flink-conf.yaml 里面, taskmanager.heap.mb 始终是 1024. > > 是不是在什么地方,把 taskmanager.heap.mb 写死到了 flink-conf.yaml 中呢? > > > Best, > LakeShen > |
Hi Xintong,
非常感谢你的回复。想再请教一个问题,什么地方会使用到 docker-compose.yaml 呢。 我目前使用一种绕开的方式解决这个问题,就是在 DockerFile 打镜像的时候,先把 conf 目录拷贝出来(这个里面的 TaskManger 内存动态传入的) 然后在 config.sh 中,强行设置了 FLINK-CONF-DIR . 但是我觉得你的方式更优雅一些。 所以想问一下 什么地方会使用到 docker-compose.yaml呢 。 Best, LakeShen Xintong Song <[hidden email]> 于2020年4月24日周五 上午10:49写道: > 应该没有其他地方去写 flink-conf.yaml,能把具体用来打镜像、动态写配置的命令或者脚本发一下吗? > > 另外你这个问题还有一种解决方案,是 taskmanager.heap.mb 通过 -D 参数传给 taskmanager.sh。可以在 > docker-compose.yaml 中 taskmanager command 处追加 -Dtaskmanager.heap.mb=2000m > > Thank you~ > > Xintong Song > > > > On Thu, Apr 23, 2020 at 5:59 PM LakeShen <[hidden email]> > wrote: > > > Hi 社区, > > > > 最近我在弄 Flink on k8s,使用的 Flink 版本为 Flink 1.6。作业模式为 standalone per job 模式。 > > > > 我在创建启动 jobmanager 的时候,设置的 taskmanager.heap.mb 为 2000 mb,虽然在 flink web ui > > 上面看到的 jobmanager 的配置, taskmanager.heap.mb 的确是 2000mb,在我启动 taskmanager > > deployment 的时候,我登录到 其中一个 pod 上看,发现 taskmanager 启动的 -xms 和 -xmx 都是 922mb。 > > > > 我将 taskmanager.heap.mb 设置为 1000 mb,停止我的作业,重启,同样,登录到taskmanager 其中一个 > > pod,-xms 和 -xmx 都是 922mb,也就是说 设置的taskmanager.heap.mb 没有对 taskmanager 启动的 > > jvm 堆没有生效。 > > > > 我看了源码,flink on k8s ,standalone per job 模式,taskmanager 会使用 taskmanager.sh > > 来启动。在 taskmanager.sh 中,taskmanager heap mb 是根据镜像中的,flink dist 目录下面,conf > > 目录中的 flink-conf.yaml 里面的配置来启动。 > > > > 我现在在打镜像的时候,也会把flink-dist 目录打进去,同样把 taskmanager.heap.mb动态传入到 > > flink-conf.yaml中,但是最终我在启动我的作业的时候,登录到 taskmanager 的一个 pod 上面查看,发现其 > > flink-conf.yaml 里面, taskmanager.heap.mb 始终是 1024. > > > > 是不是在什么地方,把 taskmanager.heap.mb 写死到了 flink-conf.yaml 中呢? > > > > > > Best, > > LakeShen > > > |
抱歉,我刚刚说的是 docker-compose.yaml 是只用 docker 不用 kubernetes 的情况。
对于 kubernetes,如果你是按照官方文档[1]推荐的方法部署 flink 的,那么直接把这个参数加在 taskmanager-deployment.yaml 的 args 处应该就可以了。 > args: - taskmanager *- Dtaskmanager.heap.size=2000m* Thank you~ Xintong Song [1] https://ci.apache.org/projects/flink/flink-docs-release-1.6/ops/deployment/kubernetes.html On Fri, Apr 24, 2020 at 11:10 AM LakeShen <[hidden email]> wrote: > Hi Xintong, > > 非常感谢你的回复。想再请教一个问题,什么地方会使用到 docker-compose.yaml 呢。 > > 我目前使用一种绕开的方式解决这个问题,就是在 DockerFile 打镜像的时候,先把 conf 目录拷贝出来(这个里面的 TaskManger > 内存动态传入的) > 然后在 config.sh 中,强行设置了 FLINK-CONF-DIR . 但是我觉得你的方式更优雅一些。 > > 所以想问一下 什么地方会使用到 docker-compose.yaml呢 。 > > Best, > LakeShen > > Xintong Song <[hidden email]> 于2020年4月24日周五 上午10:49写道: > > > 应该没有其他地方去写 flink-conf.yaml,能把具体用来打镜像、动态写配置的命令或者脚本发一下吗? > > > > 另外你这个问题还有一种解决方案,是 taskmanager.heap.mb 通过 -D 参数传给 taskmanager.sh。可以在 > > docker-compose.yaml 中 taskmanager command 处追加 -Dtaskmanager.heap.mb=2000m > > > > Thank you~ > > > > Xintong Song > > > > > > > > On Thu, Apr 23, 2020 at 5:59 PM LakeShen <[hidden email]> > > wrote: > > > > > Hi 社区, > > > > > > 最近我在弄 Flink on k8s,使用的 Flink 版本为 Flink 1.6。作业模式为 standalone per job 模式。 > > > > > > 我在创建启动 jobmanager 的时候,设置的 taskmanager.heap.mb 为 2000 mb,虽然在 flink web > ui > > > 上面看到的 jobmanager 的配置, taskmanager.heap.mb 的确是 2000mb,在我启动 taskmanager > > > deployment 的时候,我登录到 其中一个 pod 上看,发现 taskmanager 启动的 -xms 和 -xmx 都是 > 922mb。 > > > > > > 我将 taskmanager.heap.mb 设置为 1000 mb,停止我的作业,重启,同样,登录到taskmanager 其中一个 > > > pod,-xms 和 -xmx 都是 922mb,也就是说 设置的taskmanager.heap.mb 没有对 taskmanager > 启动的 > > > jvm 堆没有生效。 > > > > > > 我看了源码,flink on k8s ,standalone per job 模式,taskmanager 会使用 > taskmanager.sh > > > 来启动。在 taskmanager.sh 中,taskmanager heap mb 是根据镜像中的,flink dist 目录下面,conf > > > 目录中的 flink-conf.yaml 里面的配置来启动。 > > > > > > 我现在在打镜像的时候,也会把flink-dist 目录打进去,同样把 taskmanager.heap.mb动态传入到 > > > flink-conf.yaml中,但是最终我在启动我的作业的时候,登录到 taskmanager 的一个 pod 上面查看,发现其 > > > flink-conf.yaml 里面, taskmanager.heap.mb 始终是 1024. > > > > > > 是不是在什么地方,把 taskmanager.heap.mb 写死到了 flink-conf.yaml 中呢? > > > > > > > > > Best, > > > LakeShen > > > > > > |
好的 Xintong,我测试一波,非常感谢你的帮助 👍😁
Xintong Song <[hidden email]> 于2020年4月24日周五 上午11:48写道: > 抱歉,我刚刚说的是 docker-compose.yaml 是只用 docker 不用 kubernetes 的情况。 > > 对于 kubernetes,如果你是按照官方文档[1]推荐的方法部署 flink 的,那么直接把这个参数加在 > taskmanager-deployment.yaml 的 args 处应该就可以了。 > > > args: > > - taskmanager > > *- Dtaskmanager.heap.size=2000m* > > > Thank you~ > > Xintong Song > > > [1] > > https://ci.apache.org/projects/flink/flink-docs-release-1.6/ops/deployment/kubernetes.html > > > > On Fri, Apr 24, 2020 at 11:10 AM LakeShen <[hidden email]> > wrote: > > > Hi Xintong, > > > > 非常感谢你的回复。想再请教一个问题,什么地方会使用到 docker-compose.yaml 呢。 > > > > 我目前使用一种绕开的方式解决这个问题,就是在 DockerFile 打镜像的时候,先把 conf 目录拷贝出来(这个里面的 TaskManger > > 内存动态传入的) > > 然后在 config.sh 中,强行设置了 FLINK-CONF-DIR . 但是我觉得你的方式更优雅一些。 > > > > 所以想问一下 什么地方会使用到 docker-compose.yaml呢 。 > > > > Best, > > LakeShen > > > > Xintong Song <[hidden email]> 于2020年4月24日周五 上午10:49写道: > > > > > 应该没有其他地方去写 flink-conf.yaml,能把具体用来打镜像、动态写配置的命令或者脚本发一下吗? > > > > > > 另外你这个问题还有一种解决方案,是 taskmanager.heap.mb 通过 -D 参数传给 taskmanager.sh。可以在 > > > docker-compose.yaml 中 taskmanager command 处追加 > -Dtaskmanager.heap.mb=2000m > > > > > > Thank you~ > > > > > > Xintong Song > > > > > > > > > > > > On Thu, Apr 23, 2020 at 5:59 PM LakeShen <[hidden email]> > > > wrote: > > > > > > > Hi 社区, > > > > > > > > 最近我在弄 Flink on k8s,使用的 Flink 版本为 Flink 1.6。作业模式为 standalone per job > 模式。 > > > > > > > > 我在创建启动 jobmanager 的时候,设置的 taskmanager.heap.mb 为 2000 mb,虽然在 flink web > > ui > > > > 上面看到的 jobmanager 的配置, taskmanager.heap.mb 的确是 2000mb,在我启动 > taskmanager > > > > deployment 的时候,我登录到 其中一个 pod 上看,发现 taskmanager 启动的 -xms 和 -xmx 都是 > > 922mb。 > > > > > > > > 我将 taskmanager.heap.mb 设置为 1000 mb,停止我的作业,重启,同样,登录到taskmanager 其中一个 > > > > pod,-xms 和 -xmx 都是 922mb,也就是说 设置的taskmanager.heap.mb 没有对 taskmanager > > 启动的 > > > > jvm 堆没有生效。 > > > > > > > > 我看了源码,flink on k8s ,standalone per job 模式,taskmanager 会使用 > > taskmanager.sh > > > > 来启动。在 taskmanager.sh 中,taskmanager heap mb 是根据镜像中的,flink dist > 目录下面,conf > > > > 目录中的 flink-conf.yaml 里面的配置来启动。 > > > > > > > > 我现在在打镜像的时候,也会把flink-dist 目录打进去,同样把 taskmanager.heap.mb动态传入到 > > > > flink-conf.yaml中,但是最终我在启动我的作业的时候,登录到 taskmanager 的一个 pod 上面查看,发现其 > > > > flink-conf.yaml 里面, taskmanager.heap.mb 始终是 1024. > > > > > > > > 是不是在什么地方,把 taskmanager.heap.mb 写死到了 flink-conf.yaml 中呢? > > > > > > > > > > > > Best, > > > > LakeShen > > > > > > > > > > |
Free forum by Nabble | Edit this page |