当前位置: 首页互联网正文 本文介绍: JobManager:协调,决定何时调度下一个task,对失败任务做恢复。TaskManger: 必须有一个。 Flink运行时架构 JobManager:协调,决定何时调度下一个task,对失败任务做恢复。 ResourceManager: 负责Flink集群中的资源提供、回收、分配,它负责管理task slot。standalone模式下,不能自行启动新的taskmanager Dispatcher 提供一个REST接口,用来提交Flink应用程序执行 为每个提交的作业启动一个新的jobMaster –运行Flink Web UI JobMaster: 负责管理单个JobGraph的执行,我们的代码Flink并不能直接执行,需要翻译为JobGraph才能执行。 TaskManger: 必须有一个 taskManaer和taskManager之间有数据交流 核心概念 并行度 并发:多个任务,资源只有一份,需要竞争执行 并行:多个任务,资源有多份,可以同时执行 并行度:一个作业并行执行的程序(数量) 设置并行度 1.代码中设置全局并行度 :env.setParallelism(1); 2.在idea中执行,,如果没有明确设置并行,默认为CPU核数 3.在代码中设置算子并行度,map().setParallelism() 4.不建议在代码中设置并行度,一般在提交作业到集群时指定并行度 bin/flink –p 并行度 5.提交作业到集群,如果没有设置和代码中都没有设置,使用集群配置的并行度,一般为1 优先级:算子并行 > 全局并行度 > shell命令 > 配置文件 算子链 上下游算子数据分发规则(数据分区规则):ChannelSelector RebalancePartitioner: 轮循方式,上下游并行度不一致时,默认是rebalance RescalePartitioiiner: 相对负载均衡,按照轮循的方式将数据发送到下游组内Task的每个并行度中 ShufflePartitioner: 洗牌,按照随机的方式发送到下游Task的每个并行度中 BroadcastPartioner: 广播,根据下游并行度个数,每个发一份 GlobalPartitioner: 全局,所有的数据之后发送到下游task的第一个并行度中,强制并行度为1 KeyGroupStreamPartioner: keyBy的效果,按照key的hash值决定发往下游的哪个并行度中 ForwardPartitioner: 直连,上下游并行度一致。上游的并行度对应下游的并行度进行发送,如果上下游并行度一致,默认就是forward 算子链: 将上下游的多个Task合并成一个大的Task,形成的链条就是算子链 合并算子链: 1.上下游并行度必须一样 2.数据的分发规则是forward 合并算子链的作用:减少线程间的切换,缓冲的开销,并且减少延迟的同时增加整体吞吐量 能不能不合并?能 1.全局禁用算子链合并 env.disableOperatorChaining() 2.针对算子设置,startNewChain(): 开启新的算子链,从当前算子开始,与后面的进行合并disableNewChain():前面和后面不参与算子链合并 原文地址:https://blog.csdn.net/qq_44273739/article/details/134788278 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若转载,请注明出处:http://www.7code.cn/show_41850.html 如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除! 主题授权提示:请在后台主题设置-主题授权-激活主题的正版授权,授权购买:RiTheme官网显示所有内容声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。flinkjobmanagertask 代码007普通 打赏 收藏 海报 链接