将每个tm的slot数从2降低到1,任务反而无法启动

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

将每个tm的slot数从2降低到1,任务反而无法启动

lzwang
您好:


任务的拓扑图如下,parallelism的设置是140,但是中间有个操作的并行度设置成了50。
集群剩余的slot总数是195。


如果将每个tm的slot数设置为2,任务能够正常启动,并且分配了70个tm和140个slot,符合预期。


可如果将每个tm的slot数设置为1,便只分配了115个slot。任务会卡在creating状态,并且几分钟后,会抛出异常,“Could not allocate all requires slots within timeout of 300000 ms. Slots required: 470, slots allocated: 388


这里面有几个问题:
1. 将slot数设置为1后,异常中提示“Slots required: 470”,这个470似乎完全没有考虑slot share(我们并没有手动设置SlotSharingGroup)。这是为啥?
2. 将slot数设置为1后,异常中提示“slots allocated: 388”,而整个集群剩余的slot其实只有195个,这个388怎么来的?
3. 最大的并行度应是140,为何只分配了115个slot呢?


我们使用的flink版本是1.6.2。

期待你们的回复~

-----------------------------------------------
科大讯飞股份有限公司
AI营销平台  汪李之
Tel:15209882175
QQ/WeChat:992424538
Add:安徽省合肥市望江西路666号

Reply | Threaded
Open this post in threaded view
|

回复:将每个tm的slot数从2降低到1,任务反而无法启动

hailong
hi

flink 1 slot != 1 core
可以看下 yarn.containers.vcores 这个参数设置为多少。
如果该值为1,tm slot为2,那么每启动一个tm容器就会占用1core,但是每个tm 会有两个slot,反之,如果该值为1,每个tm slot 也为1,就会需要max parallelism core 数量。


2021年3月11日 14:34[hidden email] 写道:
您好:


任务的拓扑图如下,parallelism的设置是140,但是中间有个操作的并行度设置成了50。
集群剩余的slot总数是195。


如果将每个tm的slot数设置为2,任务能够正常启动,并且分配了70个tm和140个slot,符合预期。


可如果将每个tm的slot数设置为1,便只分配了115个slot。任务会卡在creating状态,并且几分钟后,会抛出异常,“Could not allocate all requires slots within timeout of 300000 ms. Slots required: 470, slots allocated: 388


这里面有几个问题:
1. 将slot数设置为1后,异常中提示“Slots required: 470”,这个470似乎完全没有考虑slot share(我们并没有手动设置SlotSharingGroup)。这是为啥?
2. 将slot数设置为1后,异常中提示“slots allocated: 388”,而整个集群剩余的slot其实只有195个,这个388怎么来的?
3. 最大的并行度应是140,为何只分配了115个slot呢?


我们使用的flink版本是1.6.2。

期待你们的回复~

-----------------------------------------------
科大讯飞股份有限公司
AI营销平台  汪李之
Tel:15209882175
QQ/WeChat:992424538
Add:安徽省合肥市望江西路666号

Reply | Threaded
Open this post in threaded view
|

Re: 将每个tm的slot数从2降低到1,任务反而无法启动

Smile
In reply to this post by lzwang
建议看下集群剩余的内存情况,看是不是 140 个 TAskManager 内存不够了



--
Sent from: http://apache-flink.147419.n8.nabble.com/