Flink任务资源动态规划

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

Flink任务资源动态规划

15904502343@163.com

大家好:
    我这边Flink运行是on yarn,任务启动时具体启用几个TM、几个Slot,还有并行度之类的资源配置,目前都是基于个人经验进行配置。我想问一下具体影响Flink任务资源配置的维度有哪些?还有这些维度能不能具体量化出来,经过一定的计算来动态规划资源,应该采用什么方案,从而在平台上减少研发的参与。
    谢谢大家


[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Flink任务资源动态规划

zhisheng
Hi,具体启动几个 TM、这个据我了解在 yarn 上是不支持自动扩缩 TM 个数的,然后启动多少个  Slot,这个主要取决于你的并行度,如果你的 Job 需要这么多并行度来处理数据的话,那么就需要你有这么多 Slot 去支持你开启这么多并行度,因为一个 Job 的并行度最终还是取决于你的 Slot 是否足够,如果 Slot 不够的话,则会报申请 Slot 失败,还有就是你的 Job 并行度怎么设置,一般上线你自己写的 Flink Job 之前最好自己去做一个压测,看看自己 Job 的设置的并行度是否合理,能否及时的处理数据,不会导致数据堆积。在压测时观察 Job 的每个算子处理情况,可能对于有些算子做的任务有点重会导致该算子的处理速度不及时,这种情况就需要调大些并行度,还有就是假如你去消费 MQ Topic 的数据,MQ 有多个分区,如果你数据量小的话,可能一两个并行度也能处理得过来,也就没必要开这么多并行度,如果消费不过来,那么就得慢慢加大到和 MQ Topic 相同分区个数的并行度,再去观察你的 Job 是否能够及时消费(MQ 数据不堆积)。

具体的量化公式,貌似没有,反正整个调优过程,该如何设置并行度、slot、分配多少个 TM,还得根据你实际业务场景的数据量和处理逻辑的复杂性来衡量。这是本人的观点,如果有更好的建议欢迎分享。

                                                      from zhisheng

> 在 2019年6月21日,下午9:42,[hidden email] 写道:
>
>
> 大家好:
>    我这边Flink运行是on yarn,任务启动时具体启用几个TM、几个Slot,还有并行度之类的资源配置,目前都是基于个人经验进行配置。我想问一下具体影响Flink任务资源配置的维度有哪些?还有这些维度能不能具体量化出来,经过一定的计算来动态规划资源,应该采用什么方案,从而在平台上减少研发的参与。
>    谢谢大家
>
>
> [hidden email]