Flink源码解析四之任务调度和负载均衡

这篇具有很好参考价值的文章主要介绍了Flink源码解析四之任务调度和负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

源码概览 

Flink源码解析四之任务调度和负载均衡,Flink,flink,大数据

jobmanager

  • scheduler:这部分与 Flink 的任务调度有关。

    • CoLocationConstraint:这是一个约束类,用于确保某些算子的不同子任务在同一个 TaskManager 上运行。这通常用于状态共享或算子链的情况。
    • CoLocationGroup & CoLocationGroupImpl:这些与 CoLocationConstraint 相关,定义了一组需要在同一个 TaskManager 上共同定位的任务。
    • Locality:表示任务的位置偏好,例如,希望任务在数据所在的节点上执行以最小化数据传输。
    • LocationPreferenceConstraint:表示任务对于特定 TaskManager 的位置偏好。
    • NoResourceAvailableException:当没有足够的资源满足任务的需求时抛出的异常。
    • SlotSharingGroup:表示可以共享同一个 TaskManager 中的插槽的任务。通过这种方式,多个算子可以运行在同一个 TaskManager 的 JVM 中,从而节省资源。
  • slots:这部分与 TaskManag文章来源地址https://www.toymoban.com/news/detail-741766.html

到了这里,关于Flink源码解析四之任务调度和负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flink 深入理解任务执行计划,即Graph生成过程(源码解读)

    我们先看一下,Flink 是如何描述作业的执行计划的。以这个 DataStream 作业为例,Flink 会基于它先生成一个 StreamGraph。这是一个有向无环图,图中的节点对应着计算逻辑,图中的边则对应着数据的分发方式。 Flink 会根据节点的并行度以及他们之间的连边方式,把一些计算节点进

    2024年02月22日
    浏览(42)
  • 负载均衡:LVS 负载调度原理

    LVS 官方中文站点参考资料: http://www.linuxvirtualserver.org/zh/index.html 只有 LVS 实现了二层负载均衡 通过 LVS 的 DR 模式来实现的 数据包走向原理说明: 客户端请求数据包报文源地址和目标地址:CIP、VIP 负载均衡将客户端请求数据包报文的源 MAC 地址改为自己 DIP 的 MAC 地址,目前

    2024年02月08日
    浏览(47)
  • flink源码分析 - yaml解析

    flink版本: flink-1.12.1      代码位置:  org.apache.flink.configuration.GlobalConfiguration 主要看下解析yaml文件的方法:  org.apache.flink.configuration.GlobalConfiguration#loadYAMLResource

    2024年01月18日
    浏览(43)
  • Flink ExecuteGraph构建源码解析

    在 JobGraph构建过程 中分析了JobGraph的构建过程,本文分析ExecutionGraph的构建过程。JobManager(JobMaster) 根据 JobGraph 生成 ExecutionGraph。ExecutionGraph是JobGraph 的并行化版本,是调度层最核心的数据结构。 1、ExecutionJobVertex:和JobGraph中的JobVertex一一对应。每一个ExecutionJobVertex都有 和并

    2024年03月11日
    浏览(36)
  • flinkcdc 3.0 源码学习之任务提交脚本flink-cdc.sh

    大道至简,用简单的话来描述复杂的事,我是Antgeek,欢迎阅读. 在flink 3.0版本中,我们仅通过一个简单yaml文件就可以配置出一个复杂的数据同步任务, 然后再来一句 bash bin/flink-cdc.sh mysql-to-doris.yaml 就可以将任务提交, 本文就是来探索一下这个shell脚本,主要是研究如何通过一个shell命

    2024年02月19日
    浏览(39)
  • 【源码解析】flink sql执行源码概述:flink sql执行过程中有哪些阶段,这些阶段的源码大概位置在哪里

    本文大致分析了flink sql执行过程中的各个阶段的源码逻辑,这样可以在flink sql执行过程中, 能够定位到任务执行的某个阶段的代码大概分布在哪里,为更针对性的分析此阶段的细节逻辑打下基础,比如create 的逻辑是怎么执行的,select的逻辑是怎么生成的,优化逻辑都做了哪

    2024年02月04日
    浏览(39)
  • 负载均衡常用调度算法介绍和选择

    所有服务器,都有一个能处理请求的qps上限,超过这个上限就会有丢包的风险,这个时候我们必须对服务器进行扩容。 扩容有两种方法,一种是增加服务器的硬件资源(scale up纵向扩容),这种方法比较简单,插块卡就行了,但是如果要增加计算网络资源的话,可能需要重启

    2024年02月02日
    浏览(41)
  • 源码解析Flink源节点数据读取是如何与checkpoint串行执行

    源码解析Flink源节点数据读取是如何与checkpoint串行执行 Flink版本:1.13.6 前置知识:源节点的Checkpoint是由Checkpointcoordinate触发,具体是通过RPC调用TaskManager中对应的Task的StreamTask类的performChecpoint方法执行Checkpoint。 本文思路:本文先分析checkpoint阶段,然后再分析数据读取阶段,

    2024年02月14日
    浏览(49)
  • FlinkSQL-- sql-client及源码解析 -- flink-1.13.6

    本文基于flink-1.13.6 SQL Client: Init scripts and Statement Sets 这个版本极大地改进了 SQL 客户端的功能。现在 SQL Client 和 SQL 脚本都支持 通过Java 应用程序执行的几乎所有操作(从 TableEnvironment 以编程方式启动查询)。这意味着 SQL 用户在 SQL 部署中需要的代码少了很多。其中最核心的功能

    2023年04月27日
    浏览(39)
  • Flink流批一体计算(3):FLink作业调度

    架构 所有的分布式计算引擎都需要有集群的资源管理器,例如:可以把MapReduce、Spark程序运行在YARN集群中、或者是Mesos中。Flink也是一个分布式计算引擎,要运行Flink程序,也需要一个资源管理器。而学习每一种分布式计算引擎,首先需要搞清楚的就是:我们开发的分布式应用

    2024年02月10日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包