LocalFlinkMiniCluster启动DataStream任务的流程

简介: LocalFlinkMiniCluster 集群的actor 模型 --- - 相关的主要类图如下: ![image-20190415180352502.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/3763cc8b905776d9c23cc98318fc7a3c.png) - AkkaRpcA

LocalFlinkMiniCluster 集群的actor 模型


  • 相关的主要类图如下:

image-20190415180352502.png

  • AkkaRpcActor持有一个rpcEndpoint成员,接收到消息后进行基础解析后调用rpcEndpoint的的对应方法来进行处理。
  • 其中RpcGateway及RpcEndPoint的类图
    image-20190415175424225.png
  • 支持的消息类型

    • 其中主要使用RpcInvocation基于反射调用RPCEndpoint的对应函数
    • FencedMessage 将message进行封装成payload,通过fencingToken进行校验,保证请求的合法性
      image-20190415175913490.png

LocalFlinkMiniCluster集群的角色


  • ResouceManager

    • 负责容器的分配
    • 使用FencedAkkaRpcActor实现,其rpcEndpoint为 org.apache.flink.runtime.resourcemanager.ResourceManager
  • JobMaster

    • 负责任务执行计划的调度和执行,
    • 使用FencedAkkaRpcActor实现,其rpcEndpoint为 org.apache.flink.runtime.jobmaster.JobMaster

      • JobMaster持有一个SlotPool的Actor,用来暂存TaskExecutor提供给JobMaster并被接受的slot。JobMaster的Scheduler组件从这个SlotPool中获取资源以调度job的task
  • Dispatcher

    • 主要职责是接收从Client端提交过来的job并生成一个JobMaster去负责这个job在集群资源管理器上执行。

      • 不是所有部署方式都需要用到dispatcher,比如yarn-cluster 的部署方式可能就不需要
    • 使用FencedAkkaRpcActor实现,其rpcEndpoint为 org.apache.flink.runtime.dispatcher.StandaloneDispatcher
  • TaskExecutor

    • TaskExecutor会与ResouceManager和 JobMaster两者进行通信。

      • 会向ResourceManager报告自身的可用资源;并维护本身slot的状态
      • 根据slot的分配结果,接收JobMaster的命令在对应的slot上执行指定的task。
      • TaskExecutor还需要向以上两者定时上报心跳信息。
    • 使用AkkaRpcActor实现,其rpcEndpoint为org.apache.flink.runtime.taskexecutor.TaskExecutor

启动DataStream任务的主体流程


image-20190417172051347.png
image-20190417174333612.png

参考资料


相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
目录
相关文章
|
JSON NoSQL MongoDB
mongodb基本操作,增删改查,查询,索引,权限机制
mongodb基本操作,增删改查,查询,索引,权限机制
|
存储 Java 索引
Python String详解!
本文详细介绍了Python中的字符串数据类型,包括其创建、访问、切片、反转及格式化等操作。文章涵盖字符串的基本概念、各种操作方法以及常用内置函数。通过多个示例代码展示了如何使用单引号、双引号和三重引号创建字符串,如何通过索引和切片访问与修改字符串内容,以及如何利用格式化方法处理字符串。此外,还介绍了字符串的不可变性及其在实际应用中的重要性。通过本文的学习,读者可以全面掌握Python字符串的使用技巧。
482 4
|
存储 Docker 容器
Docker Hub 镜像仓库
前言 Docker Hub 是 Docker 公司提供的官方公共 Docker 镜像注册表,允许用户存储、分享和获取 Docker 镜像。在 Docker Hub 上,你可以找到许多官方和社区维护的 Docker 镜像。 搜索镜像 登录后,你可以使用 Docker Hub 的搜索功能来查找感兴趣的镜像。你可以在搜索栏中输入关键词,然后浏览结果。 创建存储库 注册或登录到 Docker Hub,选择“创建存储库”按钮,选择公有库或者私有库。
10115 1
IEC104初学者教程,第四章:IEC 104 开发环境搭建
搭建IEC104开发环境涉及两款模拟器:[主站模拟器](https://www.redisant.cn/iec104client) 和 [从站模拟器](https://www.redisant.cn/iec104server)。从站模拟器中,创建连接后添加从站,配置信息对象;主站模拟器同样新建连接并开启,向从站发送总召唤以获取数据。每个步骤配有图示指导操作。
2051 14
IEC104初学者教程,第四章:IEC 104 开发环境搭建
|
传感器 消息中间件 人工智能
一套基本的具身智能技术流程是如何实现的
Embodied Intelligence作为一种将感知、决策与执行相结合的前沿技术,正在引领机器人技术迈向新的高度。具身智能不仅要求机器人具备理解和处理复杂环境的能力,还需赋予其自主决策和执行任务的能力。本文将深入探讨如何将LLM和多模态大模型与机器人技术相结合,构建一套完整的具身智能技术流程。本文参考了同济子豪兄的部分工作,TsingtaoAI团队对整体构建做了一部分拓展和延伸。
2481 3
|
算法 API Apache
Flink CDC:新一代实时数据集成框架
本文源自阿里云实时计算团队 Apache Flink Committer 任庆盛在 Apache Asia CommunityOverCode 2024 的分享,涵盖 Flink CDC 的概念、版本历程、内部实现及社区未来规划。Flink CDC 是一种基于数据库日志的 CDC 技术实现的数据集成框架,能高效完成全量和增量数据的实时同步。自 2020 年以来,Flink CDC 经过多次迭代,已成为功能强大的实时数据集成工具,支持多种数据库和数据湖仓系统。未来将进一步扩展生态并提升稳定性。
5092 3
Flink CDC:新一代实时数据集成框架
|
SQL Java Apache
Flink内存问题之内存溢出如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
存储 Kubernetes 容器
k8s 中 PV 和 PVC 的生命周期
【4月更文挑战第30天】
|
Java 数据库连接 数据库
Flink Connector JDBC已经被移到了一个独立的仓库
【2月更文挑战第23天】Flink Connector JDBC已经被移到了一个独立的仓库
262 1
|
Kubernetes 前端开发 JavaScript
新版云效使用指南
本文描述新版云效使用
2612 0
新版云效使用指南