当前位置:网站首页>Summarize Flink runtime architecture in simple terms
Summarize Flink runtime architecture in simple terms
2022-06-30 00:06:00 【InfoQ】
One 、Flink Introduction to various components of runtime
Job manager (JobManager) Explorer (ResourceManager) Task manager (TaskManager) The dispenser (Dispatcher)Two 、Flink The process of task submission


- Client Submit for Job The client of , It could be running on any machine ( And JobManager The environment is connected ). Submit Job after ,Client You can end the process (Streaming The task of ), You can also not end and wait for the results to return .
- JobManager Lord want negative responsibility transfer degree Job and Association transfer Task do checkpoint, job responsibility On very image Storm Of Nimbus. from Client I received it from you Job and JAR After the package and other resources , An optimized execution plan will be generated , And Task The unit is scheduled to each TaskManager To carry out .
- TaskManager The slot number is set at the start-up time (Slot), Every slot Can start a Task,Task For threads . from JobManager Receive what needs to be deployed Task, After deployment starts , Build with your own upstream Netty Connect , To receive data and process
3、 ... and 、Flink Principle of task scheduling

- One Worker(TaskManager) It's just one. JVM process , Have one or more... Inside Task Slot Further subdivide the process CPU resources .
- Slot Refer to TaskManager Maximum ability to execute concurrently ->taskmanager.numberOfTaskSlots->ys
- parallelism Refer to TaskManager The concurrency capability actually used ->parallelism.default->p
- same Slot Threads in share the same JVM. same JVM Task sharing in TCP Connection and heartbeat messages .TaskManager One of the Slot Represents an available thread , This thread has fixed memory , Be careful Slot Only memory isolation , No, right CPU Isolation

- be-all Flink The program is composed of three parts : Source 、Transformation and Sink.Source Responsible for reading data source ,Transformation Processing with various operators ,Sink Responsible for output .
- Flink The program that runs on will be mapped to “ Logical data flow ”(dataflows), It contains these three parts . every last dataflow With one or more sources Start with one or more sinks end .dataflow Similar to any directed acyclic graph (DAG).
- The conversion operation in the program (transformations) Follow dataflow Medium (operator) It's a one-to-one relationship , But sometimes , One transformation May correspond to multiple operator.

- One-to-one:stream( For example source and map operator Between ) Maintaining the order of partitions and elements . That means map The number and order of elements seen by the subtask of the operator follow source The number of elements produced by the subtask of the operator 、 Same order ,map、fliter、flatMap And so on one-to-one Correspondence of .
- Redistributing:stream(map() Follow keyBy/window Between or keyBy/window Follow sink Between ) The partition of will change . The subtasks of each operator depend on the selected transformation Send data to different target tasks . for example ,keyBy() be based on hashCode Repartition 、broadcast and rebalance It's going to be randomly repartitioned , These operators all cause redistribute The process

边栏推荐
- shell-位置参数变量和预定义变量
- Is China Merchants Securities reliable? Is it safe to open a stock account?
- I wonder if I can open an account today? In addition, is it safe to open an account online now?
- 项目一:部署 LAMP ecshop电商平台
- What is IGMP? What is the difference between IGMP and ICMP?
- Solr基础操作11
- Majority element ii[molar voting method for finding modes]
- This simple little function saves 213 hours for our production research team in half a year
- 6.29日刷题题解
- Siemens low code platform connects MySQL through database connector to realize addition, deletion, modification and query
猜你喜欢
![克隆无向图[bfs访问每条边而不止节点]](/img/34/2a1b737b6095293f868ec6aec0ceeb.png)
克隆无向图[bfs访问每条边而不止节点]
![Copy linked list with random pointer [space for time --hash record]](/img/d9/d81e0e4f81174c61275e4affe0777a.png)
Copy linked list with random pointer [space for time --hash record]

Start harvesting! Nailing: adjust the maximum number of free users of "nailing team". If the number exceeds 10, it will not work normally

Applet plug-in access, development and precautions

由GlideException: Failed DecodePath{DirectByteBuffer->GifDrawable->Drawable}引起的刨根问底

Andorid source build/envsetup.sh 该知道的细节

漫画安全HIDS、EDR、NDR、XDR

Yunhe enmo Guoqiang, identifiez - le, saisissez - le, avant l'ébullition de la base de données nationale
![[wechat applet] understand the basic composition of the applet project](/img/71/98894fbb9cda4facfd2b83c8ec8f9a.png)
[wechat applet] understand the basic composition of the applet project

This PMP Exam (June 25), some people are happy and others are worried. That's why
随机推荐
Sword finger offer 15 Number of 1 in binary
Solr基础操作7
Solr基础操作13
Golang泛型的巧妙应用,防止变量空指针错误,防止结构体字段空指针错误
Solr基础操作15
Binary search tree 230 The element with the smallest K in the binary search tree 1038 From binary search tree to larger sum tree
After working in the software development industry for six years, I changed my ideas in those years
Solr基础操作14
Do mysqlcdc data not support windowing functions like row_ Number, lead
333333333333333333333333333333
How to view the CPU cores and threads in win11? Win11 view the tutorial of how many cores and threads the CPU is
Use of jetpack's room in combination with flow
Embedded development: Hardware in the loop testing
LC: effective Sudoku + rotating image
Inspiration collection · evaluation of creative writing software: flomo, obsidian memo, napkin, flowus
招商证券靠谱吗?开股票账户安全吗?
Set up enterprise NTP time server
koa2学习和使用
手机开户后多久才能通过?另外,手机开户安全么?
Bee常用配置
