大家好: 我这边Flink运行是on yarn,任务启动时具体启用几个TM、几个Slot,还有并行度之类的资源配置,目前都是基于个人经验进行配置。我想问一下具体影响Flink任务资源配置的维度有哪些?还有这些维度能不能具体量化出来,经过一定的计算来动态规划资源,应该采用什么方案,从而在平台上减少研发的参与。 谢谢大家*来自志愿者整理的flink邮件归档
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,还得根据你实际业务场景的数据量和处理逻辑的复杂性来衡量。这是本人的观点,如果有更好的建议欢迎分享。*来自志愿者整理的flink
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。