当前位置:网站首页>Detailed explanation of Flink parallelism and slot
Detailed explanation of Flink parallelism and slot
2022-07-07 19:54:00 【A sharp fire rages to the sky】
Flink Parallelism and Slot Detailed explanation
Address :
https://blog.csdn.net/zuodaoyong/article/details/106178488?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=2
One 、 Concept
1、Task: There are multiple with the same function in one stage subTask Set , similar Spark Of TaskSet
2、SubTask: It is the smallest execution unit of the task , It's a Java Class , Complete the specific calculation logic
3、Slot: Isolation unit of computing resources , One Slot Can run multiple SubTask, But these SubTask It has to be from the same application At different stages of subTask.
Be careful :Flink Divide Task There are four main situations :
(1) similar keyBy,broadcast,rebalance Wait for the operator to generate shuffer
(2)Parallelism( Parallelism ) change
(3)new chain, That is, execute on the operator startNewChain() after , This operator is separate from the operator previously executed .
(4)disableChaining, Execute on the operator disableChaining(), That is, the beginning to the end of the operator , Generate a single task. Use scenarios , For example, the logic of this operator is complex , Let the operator use one alone task Internal SubTask.
Two 、slot
Flink Every one of them TaskManager It's all one JVM process , It may be in slot Execute one or more subTask.
slot The quantity is usually the same as each TaskManager Node availability CPU The number of cores is proportional . commonly Slot The number is per node CPU Number of cores .
Slot The number of is determined by flink-conf.yml In profile taskmanager.numberOfTaskSlots Set up .
Be careful : The same slot Cannot execute the same task The multiple subTask.
Expand :slotSharingGroup(String slotSharingGroup) Sharing slot
hypothesis flink Cluster has 3 Nodes , One jobManager,2 individual TaskManager. Every TaskManager Yes 2 individual Slot. That is, the cluster is a total of 4 individual slot
Task assignment slot The default name is default.
take wordcount For example , Run the application,5 individual task,14 individual subTask Are running on shared slot be known as "default" On .
If flatMap On the call slotSharingGroup(“slot_name”), be flatMap Put it under the name slot_name Of slot On .
Posterior operator map,keyBy,print All will be assigned slot The name is slot_name Up operation .
that , Abnormal conditions have occurred , In the cluster 4 individual slot, There is one default Of slot Running in is source,flatMap The parallelism of is 4, Need to assign to 4 It's called slot_name Of slot On . however slot_name Only 3 individual . Resulting in insufficient resources , Task deployment failed .
The solution is to adjust the parallelism to 3, Or cancel slotSharingGroup Set up .
summary :
(1)Flink The default name of the task resource slot of is default
(2) Call slotSharingGroup Set the slot where the operator runs
(3) If you change the name of the shared slot , The following operator does not set the name of the shared slot , Then it is consistent with the slot name changed last time
(4) Slot names are different subTask Cannot execute in the same slot
3、 ... and 、 Parallelism
1、 Setting of parallelism
(1)Operator Level( Operator level )
(2)Execution Environment Level( At the environmental level )
(3)Client Level( Client level )
(4)System Level( System level , That is, configure )
Parallelism sets priority :Operator Level > Execution Environment Level > Client Level > System Level
边栏推荐
- 注解。。。
- 让这个 CRMEB 单商户微信商城系统火起来,太好用了!
- R language dplyr package mutate_ At function and min_ The rank function calculates the sorting sequence number value and ranking value of the specified data column in the dataframe, and assigns the ra
- Navicat连接2002 - Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘解决
- 一张图深入的理解FP/FN/Precision/Recall
- 杰理之关于 TWS 配对方式配置【篇】
- Ucloud is a basic cloud computing service provider
- Solve the problem of remote rviz error reporting
- R language ggplot2 visualization: use the ggdensity function of ggpubr package to visualize the packet density graph, and use stat_ overlay_ normal_ The density function superimposes the positive dist
- 8 CAS
猜你喜欢
使用高斯Redis实现二级索引
Navicat连接2002 - Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘解决
[RT thread env tool installation]
Dynamic addition of El upload upload component; El upload dynamically uploads files; El upload distinguishes which component uploads the file.
Redis master-slave and sentinel master-slave switchover are built step by step
杰理之发起对耳配对、回连、开启可发现、可连接的轮循函数【篇】
2022.07.05
小试牛刀之NunJucks模板引擎
华南X99平台打鸡血教程
转置卷积理论解释(输入输出大小分析)
随机推荐
J ü rgen schmidhub reviews the 25th anniversary of LSTM papers: long short term memory All computable metaverses. Hierarchical reinforcement learning (RL). Meta-RL. Abstractions in generative adversar
转置卷积理论解释(输入输出大小分析)
Tp6 realize Commission ranking
PMP对工作有益吗?怎么选择靠谱平台让备考更省心省力!!!
how to prove compiler‘s correctness
时间工具类
R语言使用ggplot2函数可视化需要构建泊松回归模型的计数目标变量的直方图分布并分析构建泊松回归模型的可行性
Netease Yunxin participated in the preparation of the standard "real time audio and video service (RTC) basic capability requirements and evaluation methods" issued by the Chinese Academy of Communica
Experiment 1 of Compilation Principle: automatic implementation of lexical analyzer (Lex lexical analysis)
网信办公布《数据出境安全评估办法》,9 月 1 日起施行
How to buy bank financial products? Do you need a bank card?
干货分享|DevExpress v22.1原版帮助文档下载集合
tp6 实现佣金排行榜
LeetCode 515(C#)
一张图深入的理解FP/FN/Precision/Recall
Kirin Xin'an with heterogeneous integration cloud financial information and innovation solutions appeared at the 15th Hunan Financial Technology Exchange Conference
歌单11111
银行理财产品怎么买?需要办银行卡吗?
9 原子操作类之18罗汉增强
Solve the problem of remote rviz error reporting