flink job task在taskmanager上分布不均衡

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

flink job task在taskmanager上分布不均衡

wenyuan138
flink集群(flink 1.10.1),taskmanager有4个,每个有10个slot。 然后我有2个job,
每个并行度是4,预期是会分布到不同taskmanager的slot上(也就是4个taskmanager平均分配2个slot,
这样能更好的利用cpu资源). 结果发现这2个job的8个task全部分配到同一个taskmanager上了。 为什么? 有什么配置可以改变这种行为吗?
我们想要的是task能分到不同的taskmanager上。 谢谢!



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

回复:flink job task在taskmanager上分布不均衡

allanqinjy
https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/config.html
flink的配置中是有flink taskmanager配置的,一个tm对应几个slots 。taskmanager.numberOfTaskSlots默认是1.并行度是对应了slots数据,一般我们的slots与并行度最大的一样。你可以看一下这个参数设置。然后对照官网说明。


| |
allanqinjy
|
|
[hidden email]
|
签名由网易邮箱大师定制


在2021年05月7日 16:42,wenyuan138<[hidden email]> 写道:
flink集群(flink 1.10.1),taskmanager有4个,每个有10个slot。 然后我有2个job,
每个并行度是4,预期是会分布到不同taskmanager的slot上(也就是4个taskmanager平均分配2个slot,
这样能更好的利用cpu资源). 结果发现这2个job的8个task全部分配到同一个taskmanager上了。 为什么? 有什么配置可以改变这种行为吗?
我们想要的是task能分到不同的taskmanager上。 谢谢!



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink job task在taskmanager上分布不均衡

张锴
给l另一个job设置个组别名,不同的组不会slot共享,会跑到别的slot上,slot可以灵活的运行在不同的TM上。

allanqinjy <[hidden email]> 于2021年5月7日周五 下午7:38写道:

>
> https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/config.html
> flink的配置中是有flink taskmanager配置的,一个tm对应几个slots
> 。taskmanager.numberOfTaskSlots默认是1.并行度是对应了slots数据,一般我们的slots与并行度最大的一样。你可以看一下这个参数设置。然后对照官网说明。
>
>
> | |
> allanqinjy
> |
> |
> [hidden email]
> |
> 签名由网易邮箱大师定制
>
>
> 在2021年05月7日 16:42,wenyuan138<[hidden email]> 写道:
> flink集群(flink 1.10.1),taskmanager有4个,每个有10个slot。 然后我有2个job,
> 每个并行度是4,预期是会分布到不同taskmanager的slot上(也就是4个taskmanager平均分配2个slot,
> 这样能更好的利用cpu资源). 结果发现这2个job的8个task全部分配到同一个taskmanager上了。 为什么?
> 有什么配置可以改变这种行为吗?
> 我们想要的是task能分到不同的taskmanager上。 谢谢!
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink job task在taskmanager上分布不均衡

黄潇
看你的描述应该是Standalone部署模式。
默认调度方法是以slot为单位的,并且会倾向于分配到同一个TaskManager的slot中。
想要充分利用所有slot,一个方法是把集群中slot总数设为所有作业的并行度之和,
或者尝试将配置项cluster.evenly-spread-out-slots设为true。

Best,
Shawn Huang


张锴 <[hidden email]> 于2021年5月7日周五 下午7:50写道:

> 给l另一个job设置个组别名,不同的组不会slot共享,会跑到别的slot上,slot可以灵活的运行在不同的TM上。
>
> allanqinjy <[hidden email]> 于2021年5月7日周五 下午7:38写道:
>
> >
> >
> https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/config.html
> > flink的配置中是有flink taskmanager配置的,一个tm对应几个slots
> >
> 。taskmanager.numberOfTaskSlots默认是1.并行度是对应了slots数据,一般我们的slots与并行度最大的一样。你可以看一下这个参数设置。然后对照官网说明。
> >
> >
> > | |
> > allanqinjy
> > |
> > |
> > [hidden email]
> > |
> > 签名由网易邮箱大师定制
> >
> >
> > 在2021年05月7日 16:42,wenyuan138<[hidden email]> 写道:
> > flink集群(flink 1.10.1),taskmanager有4个,每个有10个slot。 然后我有2个job,
> > 每个并行度是4,预期是会分布到不同taskmanager的slot上(也就是4个taskmanager平均分配2个slot,
> > 这样能更好的利用cpu资源). 结果发现这2个job的8个task全部分配到同一个taskmanager上了。 为什么?
> > 有什么配置可以改变这种行为吗?
> > 我们想要的是task能分到不同的taskmanager上。 谢谢!
> >
> >
> >
> > --
> > Sent from: http://apache-flink.147419.n8.nabble.com/
>
Reply | Threaded
Open this post in threaded view
|

Re: flink job task在taskmanager上分布不均衡

wenyuan138
十分感谢黄潇
这个参数的功能描述看起来完全跟我的现象一致,今天我来修改尝试下




--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink job task在taskmanager上分布不均衡

wenyuan138
In reply to this post by 黄潇
测试了下,这个参数确实有有效



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink job task在taskmanager上分布不均衡

xuliantao
In reply to this post by 黄潇
请问下, 如果是on yarn模式下, cluster.evenly-spread-out-slots 这个参数,好像没有达到task均匀分布在tm的效果?  为什么没有支持yarn模式下的均匀调度呢?  https://issues.apache.org/jira/browse/FLINK-12122, 这个issue。