ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Flink简单学习

2021-10-24 20:33:04  阅读:163  来源: 互联网

标签:slot task Flink JobManager TaskManager 学习 简单 数据流


一:Flink基本架构

1.JobManager和TaskManager

JobManager:也称之为Master用于协调分布式执行,它们用来调度task协调检查点,协调失败时恢复等

TaskManager:也称之为Worker,用于执行一个dataflow的task(或者特殊的subtask)、数据缓冲和datastream的交换

 

 

 Master和Worker处理器可以直接在物理机上启动

Worker连接到Master,告知自身的可用性进而获得任务分配

2.无界数据流和有界数据流

无界数据流:无界数据流有一个开始但是没有结束

有界数据流:有界数据流有明确定义的开始和结束

批处理的特点是有界、持久、大量,批处理非常适合需要访问全套记录才能完成的计算工作

流处理的特点是无界、实时、而是对通过系统传输的每个数据项执行操作,一般用于实时统计。

二:Flink运行框架

1.任务提交流程

Flink提交任务后Client向HDFS上传Flink的jar包和配置

ResourceManager分配容器资源并通知对用的NodeManager启动ApplicationMaster

ApplicationMaster启动后加载Flink的jar包和配置构建环境,然后启动JobManager

ApplicationMaster向ResourceManager申请资源启动TaskManager,ResourceManager分配容器资源后由ApplicationMaster加载Flink的jar包和配置构建环境并启动TaskManager,TaskManager启动后向JobManager发送心跳包,并等待JobManager向其分配任务。

2.TaskManager 与solts

TaskManager是一个JVM进程,它可能会在独立的线程上执行一个或多个subtask

worker通过task slot来进行控制

每个task slot表示TaskManager拥有资源的一个固定大小的子集。

一个TaskManager有三个slot,那么会把他管理的内存分配给三个slot。

假如一个taskManager有3个slot,他就会给每个slot分配1/3的内存资源,目前slot不会对cpu进行隔离。同一个taskManager中的slot会共享网络资源和心跳信息。

在Flink中并不是一个slot只可以执行一个task,在某些情况下,一个slot中也可能执行多个task

 

 

slot仅用来隔离task受管理的内存。

Task Slot是静态的概念是指TaskManager具有的并发执行能力

 

标签:slot,task,Flink,JobManager,TaskManager,学习,简单,数据流
来源: https://www.cnblogs.com/wybf/p/15455539.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有