感谢回复,我确认了下,ys为10的时候,hashjoin请求的slot内存为256m,而我的tm managed 
memory为2g,也就是一个slot平均200m,所以任务没调度起来。 
但是我还有个疑问,批任务如何在任务提交前确定单个slot应该分多少内存,有没有一般性的方法或经验? faaron zheng 
邮箱:faaronzh...@gmail.com 签名由 网易邮箱大师 定制 在2019年12月25日 11:30,Xintong Song 写道: Hi 
faaron, Flink 1.9 中 -yn参数应该是不生效的,后续版本中已经删除了这个参数。 根据你的参数,在每个 TM 的内存为30G不变的情况下,每个 
TM 中的slot个数(-ys)从5变成10,也就意味着平均每个slot占用的内存变为了原来的一半。 Flink 1.9 的sql batch 算子对 
flink managed memory 是有确定的需求的,很可能是这个变化导致单个 slot 的managed memory无法满足算子的资源需求了。 
Thank you~ Xintong Song On Wed, Dec 25, 2019 at 11:09 AM faaron zheng 
<faaronzh...@gmail.com> wrote: > 跑tpcds的query1: flink run -m yarn-cluster -d -p 
100 -yn 20 -ys 5 -yjm 60g > -ytm 30g 任务可以正常执行 flink run -m yarn-cluster -d -p 
100 -yn 10 -ys 10 -yjm > 60g -ytm 30g 任务在做hashjoin的时候就会失败 报错是No pooled slot 
available and request to > ResourceManager for new slot failed 搞不懂这有啥关系,求指教 
faaron zheng 邮箱: > faaronzh...@gmail.com 签名由 网易邮箱大师 定制

回复