Re: Flink1.9批任务yn和ys对任务的影响

2019-12-26 文章 JingsongLee
SQL的Batch作业是会关闭slotsharing的。

Best,
Jingsong Lee


--
From:faaron zheng 
Send Time:2019年12月26日(星期四) 17:23
To:user-zh@flink.apache.org 
Subject:回复:Flink1.9批任务yn和ys对任务的影响

了解了,感谢三位。我的slot上包括一个hash-join一个hash-agg,加起来刚好256mb。不过因为存在slotsharing的原因,感觉并不容易提前判断。
 faaron zheng 邮箱:faaronzh...@gmail.com 签名由 网易邮箱大师 定制 在2019年12月26日 
15:09,JingsongLee 写道: Hi faaron zheng, 如kurt所说,强烈建议使用1.10,现在已拉分支。 
TM运行的一个经验值是:TM有10个Slot,TM内存10G:JVM堆内4G、1G网络buffer、manage内存5G(也就是说单个slot的manage内存500M)。
 Best, Jingsong Lee 
-- From:Kurt 
Young  Send Time:2019年12月26日(星期四) 14:07 To:user-zh 
 Subject:Re: Flink1.9批任务yn和ys对任务的影响 
也可以试下最新的1.10版本,这个版本里面 sql 的算子已经不再申请固定写死的内存数量, 而是根据当时 slot 能提供多少 managed 
内存来自适应了。 Best, Kurt On Thu, Dec 26, 2019 at 1:36 PM Xintong Song 
 wrote: > slot需要多少内存是和具体作业相关的,不同作业差别会比较大。 > > 
slot的资源需求是根据所有算子的资源需求相加得到的,如果你对你的作业用到了哪些算子比较了解的话,可以根据算子的资源需求推算出来。 > 
算子的默认资源需求可以参考 [1],里面有五个“table.exec.resource.*”的配置项,也可以调整这些配置项来更改算子使用的内存。 > > 
如果对作业使用到的算子不是很了解的话,那比较简单的办法还是直接提交作业试试看,去日志里面搜"Request slot with > 
profile"就能够看到slot的资源需求。 > > Thank you~ > > Xintong Song > > > [1] > > 
https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/config.html#execution-options
 > > On Thu, Dec 26, 2019 at 11:36 AM faaron zheng  > 
wrote: > > > 感谢回复,我确认了下,ys为10的时候,hashjoin请求的slot内存为256m,而我的tm managed > > 
memory为2g,也就是一个slot平均200m,所以任务没调度起来。 > > 
但是我还有个疑问,批任务如何在任务提交前确定单个slot应该分多少内存,有没有一般性的方法或经验? faaron zheng 邮箱: > > 
faaronzh...@gmail.com 签名由 网易邮箱大师 定制 在2019年12月26日 11:23,faaron zheng 写道: > > 
感谢回复,我确认了下,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  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 签名由 网易邮箱大师 定制 >

回复:Flink1.9批任务yn和ys对任务的影响

2019-12-26 文章 faaron zheng
了解了,感谢三位。我的slot上包括一个hash-join一个hash-agg,加起来刚好256mb。不过因为存在slotsharing的原因,感觉并不容易提前判断。
 faaron zheng 邮箱:faaronzh...@gmail.com 签名由 网易邮箱大师 定制 在2019年12月26日 
15:09,JingsongLee 写道: Hi faaron zheng, 如kurt所说,强烈建议使用1.10,现在已拉分支。 
TM运行的一个经验值是:TM有10个Slot,TM内存10G:JVM堆内4G、1G网络buffer、manage内存5G(也就是说单个slot的manage内存500M)。
 Best, Jingsong Lee 
-- From:Kurt 
Young  Send Time:2019年12月26日(星期四) 14:07 To:user-zh 
 Subject:Re: Flink1.9批任务yn和ys对任务的影响 
也可以试下最新的1.10版本,这个版本里面 sql 的算子已经不再申请固定写死的内存数量, 而是根据当时 slot 能提供多少 managed 
内存来自适应了。 Best, Kurt On Thu, Dec 26, 2019 at 1:36 PM Xintong Song 
 wrote: > slot需要多少内存是和具体作业相关的,不同作业差别会比较大。 > > 
slot的资源需求是根据所有算子的资源需求相加得到的,如果你对你的作业用到了哪些算子比较了解的话,可以根据算子的资源需求推算出来。 > 
算子的默认资源需求可以参考 [1],里面有五个“table.exec.resource.*”的配置项,也可以调整这些配置项来更改算子使用的内存。 > > 
如果对作业使用到的算子不是很了解的话,那比较简单的办法还是直接提交作业试试看,去日志里面搜"Request slot with > 
profile"就能够看到slot的资源需求。 > > Thank you~ > > Xintong Song > > > [1] > > 
https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/config.html#execution-options
 > > On Thu, Dec 26, 2019 at 11:36 AM faaron zheng  > 
wrote: > > > 感谢回复,我确认了下,ys为10的时候,hashjoin请求的slot内存为256m,而我的tm managed > > 
memory为2g,也就是一个slot平均200m,所以任务没调度起来。 > > 
但是我还有个疑问,批任务如何在任务提交前确定单个slot应该分多少内存,有没有一般性的方法或经验? faaron zheng 邮箱: > > 
faaronzh...@gmail.com 签名由 网易邮箱大师 定制 在2019年12月26日 11:23,faaron zheng 写道: > > 
感谢回复,我确认了下,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  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 签名由 网易邮箱大师 定制 >

Re: Flink1.9批任务yn和ys对任务的影响

2019-12-25 文章 JingsongLee
Hi faaron zheng,

如kurt所说,强烈建议使用1.10,现在已拉分支。

TM运行的一个经验值是:TM有10个Slot,TM内存10G:JVM堆内4G、1G网络buffer、manage内存5G(也就是说单个slot的manage内存500M)。

Best,
Jingsong Lee


--
From:Kurt Young 
Send Time:2019年12月26日(星期四) 14:07
To:user-zh 
Subject:Re: Flink1.9批任务yn和ys对任务的影响

也可以试下最新的1.10版本,这个版本里面 sql 的算子已经不再申请固定写死的内存数量,
而是根据当时 slot 能提供多少 managed 内存来自适应了。

Best,
Kurt


On Thu, Dec 26, 2019 at 1:36 PM Xintong Song  wrote:

> slot需要多少内存是和具体作业相关的,不同作业差别会比较大。
>
> slot的资源需求是根据所有算子的资源需求相加得到的,如果你对你的作业用到了哪些算子比较了解的话,可以根据算子的资源需求推算出来。
> 算子的默认资源需求可以参考 [1],里面有五个“table.exec.resource.*”的配置项,也可以调整这些配置项来更改算子使用的内存。
>
> 如果对作业使用到的算子不是很了解的话,那比较简单的办法还是直接提交作业试试看,去日志里面搜"Request slot with
> profile"就能够看到slot的资源需求。
>
> Thank you~
>
> Xintong Song
>
>
> [1]
>
> https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/config.html#execution-options
>
> On Thu, Dec 26, 2019 at 11:36 AM faaron zheng 
> wrote:
>
> > 感谢回复,我确认了下,ys为10的时候,hashjoin请求的slot内存为256m,而我的tm managed
> > memory为2g,也就是一个slot平均200m,所以任务没调度起来。
> > 但是我还有个疑问,批任务如何在任务提交前确定单个slot应该分多少内存,有没有一般性的方法或经验? faaron zheng 邮箱:
> > faaronzh...@gmail.com 签名由 网易邮箱大师 定制 在2019年12月26日 11:23,faaron zheng 写道:
> > 感谢回复,我确认了下,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  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 签名由 网易邮箱大师 定制
>


Re: Flink1.9批任务yn和ys对任务的影响

2019-12-25 文章 Kurt Young
也可以试下最新的1.10版本,这个版本里面 sql 的算子已经不再申请固定写死的内存数量,
而是根据当时 slot 能提供多少 managed 内存来自适应了。

Best,
Kurt


On Thu, Dec 26, 2019 at 1:36 PM Xintong Song  wrote:

> slot需要多少内存是和具体作业相关的,不同作业差别会比较大。
>
> slot的资源需求是根据所有算子的资源需求相加得到的,如果你对你的作业用到了哪些算子比较了解的话,可以根据算子的资源需求推算出来。
> 算子的默认资源需求可以参考 [1],里面有五个“table.exec.resource.*”的配置项,也可以调整这些配置项来更改算子使用的内存。
>
> 如果对作业使用到的算子不是很了解的话,那比较简单的办法还是直接提交作业试试看,去日志里面搜"Request slot with
> profile"就能够看到slot的资源需求。
>
> Thank you~
>
> Xintong Song
>
>
> [1]
>
> https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/config.html#execution-options
>
> On Thu, Dec 26, 2019 at 11:36 AM faaron zheng 
> wrote:
>
> > 感谢回复,我确认了下,ys为10的时候,hashjoin请求的slot内存为256m,而我的tm managed
> > memory为2g,也就是一个slot平均200m,所以任务没调度起来。
> > 但是我还有个疑问,批任务如何在任务提交前确定单个slot应该分多少内存,有没有一般性的方法或经验? faaron zheng 邮箱:
> > faaronzh...@gmail.com 签名由 网易邮箱大师 定制 在2019年12月26日 11:23,faaron zheng 写道:
> > 感谢回复,我确认了下,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  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 签名由 网易邮箱大师 定制
>


Re: Flink1.9批任务yn和ys对任务的影响

2019-12-25 文章 Xintong Song
slot需要多少内存是和具体作业相关的,不同作业差别会比较大。

slot的资源需求是根据所有算子的资源需求相加得到的,如果你对你的作业用到了哪些算子比较了解的话,可以根据算子的资源需求推算出来。
算子的默认资源需求可以参考 [1],里面有五个“table.exec.resource.*”的配置项,也可以调整这些配置项来更改算子使用的内存。

如果对作业使用到的算子不是很了解的话,那比较简单的办法还是直接提交作业试试看,去日志里面搜"Request slot with
profile"就能够看到slot的资源需求。

Thank you~

Xintong Song


[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/config.html#execution-options

On Thu, Dec 26, 2019 at 11:36 AM faaron zheng  wrote:

> 感谢回复,我确认了下,ys为10的时候,hashjoin请求的slot内存为256m,而我的tm managed
> memory为2g,也就是一个slot平均200m,所以任务没调度起来。
> 但是我还有个疑问,批任务如何在任务提交前确定单个slot应该分多少内存,有没有一般性的方法或经验? faaron zheng 邮箱:
> faaronzh...@gmail.com 签名由 网易邮箱大师 定制 在2019年12月26日 11:23,faaron zheng 写道:
> 感谢回复,我确认了下,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  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 签名由 网易邮箱大师 定制


回复:Flink1.9批任务yn和ys对任务的影响

2019-12-25 文章 faaron zheng
感谢回复,我确认了下,ys为10的时候,hashjoin请求的slot内存为256m,而我的tm managed 
memory为2g,也就是一个slot平均200m,所以任务没调度起来。 
但是我还有个疑问,批任务如何在任务提交前确定单个slot应该分多少内存,有没有一般性的方法或经验? faaron zheng 
邮箱:faaronzh...@gmail.com 签名由 网易邮箱大师 定制 在2019年12月26日 11:23,faaron zheng 写道: 
感谢回复,我确认了下,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 
 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 签名由 网易邮箱大师 定制

回复:Flink1.9批任务yn和ys对任务的影响

2019-12-25 文章 faaron zheng
感谢回复,我确认了下,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 
 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 签名由 网易邮箱大师 定制

Re: Flink1.9批任务yn和ys对任务的影响

2019-12-24 文章 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  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 签名由 网易邮箱大师 定制


Flink1.9批任务yn和ys对任务的影响

2019-12-24 文章 faaron zheng
跑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 签名由 网易邮箱大师 定制