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

目前任务运行在yarn上,如果调整了flink的并行度,需要手动重启,有什么解决办法吗?

目前任务运行在yarn上,如果调整了flink的并行度,需要手动重启,有什么解决办法吗?

展开
收起
solitude. 2023-03-07 13:49:24 1125 0
3 条回答
写回答
取消 提交回答
  • 今天也要加油吖~

    目前任务运行在yarn上的话,可以尝试用 Flink 的动态调整并行度功能。

    2023-03-25 20:22:27
    赞同 展开评论 打赏
  • 如果用阿里云的全托管,好像是可以动态调整的。不过应该还是先savepoint,然后根据新参数重启,只是给你封装好了。此回答整理自钉钉群”【③群】Apache Flink China社区“

    2023-03-07 14:25:46
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    在 Yarn 上运行的 Flink 任务,如果需要调整并行度,一般来说是需要重启整个任务才能生效的。这是因为 Flink 是一个分布式计算框架,各个任务之间是相互独立的,无法直接调整并行度。

    如果您希望在调整并行度时不需要重启任务,可以考虑使用 Flink 的动态调整并行度功能。Flink 支持通过修改 parallelism 属性来动态调整任务的并行度,而且这个操作是可以在运行时实现的。

    具体来说,可以通过以下步骤实现动态调整并行度:

    1、在 Flink 任务代码中使用 getRuntimeContext().getExecutionConfig().setParallelism() 方法修改并行度属性。 2、启用 Flink 的动态调整并行度功能,可以通过在 flink-conf.yaml 文件中配置 taskmanager.memory.dynamic.max 和 taskmanager.cpu.dynamic.max 来控制资源动态分配的上限,然后在任务代码中使用 setParallelism() 方法来动态调整并行度。 需要注意的是,动态调整并行度的功能是在 Flink 1.3.0 版本引入的,如果您使用的是早期版本的 Flink,可能不支持这个功能。另外,在动态调整并行度时,需要注意任务的状态和数据分布等因素,以确保调整后的并行度能够正常工作。

    2023-03-07 13:53:43
    赞同 展开评论 打赏

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

相关产品

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

    更多
    深度学习+大数据 TensorFlow on Yarn 立即下载
    Docker on Yarn 微服务实践 立即下载
    深度学习+大数据-TensorFlow on Yarn 立即下载