flink源码阅读
Flink面试--源码篇
- 当一个应用被提交时,Dispatcher分发器就会启动并将应用移交给一个JobManager。
- JobManager控制一个应用程序执行的主进程,每个应用程序都会被一个不同的JobManager所控制;JobManager先接收到要执行的应用程序(包括作业图JobGraph、逻辑数据流图Logical dataflow gragh、打包的所有的类、库和其他资源的jar包;JobManager会将JobGraph转换为一个物理层面的数据流图(执行图:ExecutionGragh),包含了所有可以并发执行的任务; JobManager会向资源管理器(ResourceManager)请求执行任务必要的资源,即TaskManager上的插槽(Slot),一旦获取到足够的资源,就会将执行图分发到真正运行它们的TaskManager上;在运行过程中,JobManager会负责所有需要中央协调的操作,比如检查点(checkpoints)的协调。
- ResourceManager主要负责管理任务管理器(TaskManager)的插槽(slot),Slot时Flink定义的处理资源单元;ResourceManager将有空闲插槽的TaskManager分配给JobManager。如果ResourceManager没有足够的插槽来满足JobManager的请求,它可以向资源提供平台发起会话,以提供启动TaskManager进程的容器。
- TaskManager一般在Flink的工作进程中会有多个,每个TaskManager都包含一定数量的插槽slots,插槽的数量限制了TaskManager能够执行的任务数量。TaskManager启动之后,TaskManager会向ResoureManger注册它的插槽,收到ResourceManger的指令后,TaskManager就会将一个或多个插槽提供个JobManager调用,JobManager就可以向插槽分配任务(tasks)来执行。在执行过程中,一个TaskManager可以跟其他运行同一应用程序的TaskManager交换数据。
flink源码阅读的更多相关文章
- Flink源码阅读(1.7.2)
目录 Client提交任务 flink的图结构 StreamGraph OptimizedPlan JobGraph ExecutionGraph flink部署与执行模型 Single Job Jo ...
- Flink源码阅读(一)——Flink on Yarn的Per-job模式源码简析
一.前言 个人感觉学习Flink其实最不应该错过的博文是Flink社区的博文系列,里面的文章是不会让人失望的.强烈安利:https://ververica.cn/developers-resource ...
- Flink源码阅读(二)——checkpoint源码分析
前言 在Flink原理——容错机制一文中,已对checkpoint的机制有了较为基础的介绍,本文着重从源码方面去分析checkpoint的过程.当然本文只是分析做checkpoint的调度过程,只是尽 ...
- Flink源码阅读(一)--Checkpoint触发机制
Checkpoint触发机制 Flink的checkpoint是通过定时器周期性触发的.checkpoint触发最关键的类是CheckpointCoordinator,称它为检查点协调器. org.a ...
- 【原】FMDB源码阅读(三)
[原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...
- 【原】FMDB源码阅读(二)
[原]FMDB源码阅读(二) 本文转载请注明出处 -- polobymulberry-博客园 1. 前言 上一篇只是简单地过了一下FMDB一个简单例子的基本流程,并没有涉及到FMDB的所有方方面面,比 ...
- 【原】FMDB源码阅读(一)
[原]FMDB源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 说实话,之前的SDWebImage和AFNetworking这两个组件我还是使用过的,但是对于 ...
- 【原】AFNetworking源码阅读(六)
[原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AF ...
- 【原】AFNetworking源码阅读(五)
[原]AFNetworking源码阅读(五) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇中提及到了Multipart Request的构建方法- [AFHTTP ...
随机推荐
- 详解 缓冲区(Buffer 抽象类)
在本篇博文中,本人主要讲解NIO 的两个核心点 -- 缓冲区(Buffer) 和 通道 (Channel)之一的 缓冲区(Buffer), 有关NIO流的其他知识点请观看本人博文<详解 NIO流 ...
- JS-Array-新增方法
1. filter( ) var arr = [5,4,3,2,1]; newarr = arr.filter((item)=>{ return item<3 }) ; // => ...
- SpringMVC视图解析中的 forward: 与 redirect: 前缀
在 SpringMVC 中,可以指定画面的跳转方式.使用 forward: 前缀实现请求转发跳转,使用 redirect: 前缀实现重定向跳转.有前缀的转发和重定向操作和配置的视图解析器没有关系,视图 ...
- python中文资源大全
Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列 ...
- mybatis源码学习:一级缓存和二级缓存分析
目录 零.一级缓存和二级缓存的流程 一级缓存总结 二级缓存总结 一.缓存接口Cache及其实现类 二.cache标签解析源码 三.CacheKey缓存项的key 四.二级缓存TransactionCa ...
- PHP反序列化漏洞总结(二)
写在前边 之前介绍了什么是序列化和反序列化,顺便演示了一个简单的反序列化漏洞,现在结合实战,开始填坑 前篇:https://www.cnblogs.com/Lee-404/p/12771032.htm ...
- 进制之间转换——day_01
一.计算机文件大小单位 b = bit 位(比特) B = Byte 字节 1B = 8b #一个字节等于8位 简写 1Byte = 8 bit 1KB = 1024B 1MB = 1024KB 1G ...
- Spring Cloud 系列之 Sleuth 链路追踪(三)
本篇文章为系列文章,未读前几集的同学请猛戳这里: Spring Cloud 系列之 Sleuth 链路追踪(一) Spring Cloud 系列之 Sleuth 链路追踪(二) 本篇文章讲解 Sleu ...
- Spring Cloud微服务技术概览
Spring Cloud 是一系列框架的有序集合.它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据监控等,都 ...
- Configure Visual Studio with UNIX end of lines
As OP states "File > Advanced Save Options", select Unix Line Endings. https://stackove ...