开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

关于Flink弹性扩缩容有个疑问:缩容同理(释放TM)这种能做到吗?

关于Flink弹性扩缩容有个疑问:
比如Kafka12个分区,Flink任务(KafkaSource -> Process -> BDSink)On Yarn application模式,初始化的并行度也是12,但是Kafka生产者的流量有波峰波谷,波峰时就会出现反压,此时期望sink端自动增加并行度(申请TaskManager),缩容同理(释放TM)这种能做到吗,有点类似于Spark3.x中的动态资源申请
https://nightlies.apache.org/flink/flink-docs-release-1.16/zh/docs/deployment/elastic_scaling/#adaptive-%E8%B0%83%E5%BA%A6%E5%99%A8

展开
收起
真的很搞笑 2023-12-25 08:07:29 86 0
2 条回答
写回答
取消 提交回答
  • 理论上如果你有16个slot,现在用了8个在消费,但是出现峰值计算瓶颈,那么是否可以把相同的任务再提交一次,再给一个并行8的任务,这样就有两个一样的task在消费一个组,可能需要人为操作这个 ,此回答整理自钉群“【③群】Apache Flink China社区”

    2023-12-25 16:45:08
    赞同 展开评论 打赏
  • Flink的弹性扩缩容功能可以实现类似的需求。你可以使用Reactive模式或者Adaptive调度器来实现自动调整并行度。

    1. Reactive模式:在这种模式下,Flink Job会使用集群中所有的资源。当增加TaskManager时,Job会自动扩容;当删除TaskManager时,Job会自动缩容。Flink会管理Job的并行度,始终尽可能地使用最大值。

    2. Adaptive调度器:Adaptive调度器可以基于现有的Slot调整Job的并行度。它会在Slot数目不足时,自动减少并行度;当有新的Slot加入时,Job将会自动扩容至配置的并行度。

    这两种方式都可以实现根据Kafka生产者的流量变化来自动调整Flink任务的并行度,以应对流量的波峰波谷。

    2023-12-25 08:53:18
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载