首页 > 其他分享 >flink 咻咻咻

flink 咻咻咻

时间:2023-03-21 18:03:16浏览次数:34  
标签:管理器 咻咻咻 插槽 flink JobManager TaskManager 资源管理


# flink简介

apache旗下开源项目,logo是松鼠

flink是一个分布式处理引擎,用于对无界和有界数据流进行状态计算的框架

高吞吐,低延迟

流批一体化:流处理(无界流)、批处理(有界流)
# flink部署

1. standalone模式 (单机模式)

2. yarn模式 (Flink on yarn)
注意:要求flink要有hadoop支持的版本
2.1. session-cluster (会话模式)
适合小规模作业,且时间较短的任务
2.2. job-cluster (作业模式)
适合规模大,且长时间作业的任务

3. k8s模式
# flink运行时架构

1. flink运行时组件
作业管理器(jobManager)、任务管理器(taskManager)、资源管理器(resourceManager)、分发器(dispacher)


2. 作业管理器(jobManager)
控制一个应用程序执行的主进程,也就是说, 每个应用程序都会被一个不同的JobManager 所控制执行。JobManager 会先接收到要执行的应用程序,这个应用程序会包括: 作业图(JobGraph)、逻辑数据流图(logical dataflow graph)和打包了所有的类、库和其它资源的 JAR 包。JobManager 会把 JobGraph 转换成一个物理层面的数据流图,这个图被叫做“执行图”(ExecutionGraph),包含了所有可以并发执行的任务。JobManager 会向资源管理器(ResourceManager)请求执行任务必要的资源,也就是任务管理器(TaskManager)上的插槽( slot)。一旦它获取到了足够的资源,就会将执行图分发到真正运行它们的TaskManager 上。而在运行过程中,JobManager 会负责所有需要中央协调的操作,比如说检查点(checkpoints)的协调


3、任务管理器(taskManager)
Flink 中的工作进程。通常在 Flink 中会有多个 TaskManager 运行,每一个 TaskManager
都包含了一定数量的插槽(slots)。插槽的数量限制了 TaskManager 能够执行的任务数量。启动之后, TaskManager 会向资源管理器注册它的插槽;收到资源管理器的指令后, TaskManager 就会将一个或者多个插槽提供给 JobManager 调用。JobManager 就可以向插槽分配任务(tasks)来执行了。在执行过程中,一个 TaskManager 可以跟其它运行同一应用程序的 TaskManager 交换数据


4、资源管理器(resourceManager)
主要负责管理任务管理器(TaskManager)的插槽(slot),TaskManger 插槽是 Flink 中定义的处理资源单元。Flink 为不同的环境和资源管理工具提供了不同资源管理器,比如YARN、Mesos、K8s,以及 standalone 部署。当 JobManager 申请插槽资源时,ResourceManager 会将有空闲插槽的 TaskManager 分配给 JobManager。如果 ResourceManager 没有足够的插槽来满足 JobManager 的请求,它还可以向资源提供平台发起会话,以提供启动 TaskManager 进程的容器。另外,ResourceManager 还负责终止空闲的 TaskManager,释放计算资源


5、分发器(dispacher)
可以跨作业运行,它为应用提交提供了 REST 接口。当一个应用被提交执行时,分发器就会启动并将应用移交给一个 JobManager。由于是 REST 接口,所以 Dispatcher 可以作为集群的一个 HTTP 接入点,这样就能够不受防火墙阻挡。Dispatcher 也会启动一个Web UI,用来方便地展示和监控作业执行的信息。Dispatcher 在架构中可能并不是必需的,这取决于应用提交运行的方式
# 代码实战

https://github.com/ainusers/flink.git

标签:管理器,咻咻咻,插槽,flink,JobManager,TaskManager,资源管理
From: https://blog.51cto.com/u_16021118/6140749

相关文章

  • flink1.13.0 环境搭建
    #flink部署1.standalone模式2.yarn模式session-cluster模式job-cluster模式3.k8s模式注:yarn模式需要依赖hadoop环境,#1.standalone模式直接下载flink-1.13.0......
  • flink 数据无法写入elasticsearch5且不报错
    #前言其实和flink没啥关系,只是正好场景使用的是flink,问题在于elasticsearch5的参数设置#问题之前代码,数据无法写入,但是也不报错,后来添加了一个参数设置,就可以写入了#参数......
  • ES6 咻咻咻
    #1.let和constlet:修饰局部变量const:修饰常量let不存在变量提升,var会变量提升#2.解构赋值(array/object)2.1.array解构基本:let[a,b,c]=[1,2,3];//a=1//b......
  • react 咻咻咻
    #react必知必会1.函数式组件(简单无状态场景)/class类式组件(复杂有状态场景)2.react思想:状态驱动UI3.组件实例三大核心:refs/props/state4.class=function+hoo......
  • dnd 咻咻咻
    #1.钩子函数APIuseDrag拖拽useDrop放置useDragLayer拖拽层#Drag拖拽import{useDrag}from'react-dnd'functionDrag(){const[{isDragging},drag,dragPrevi......
  • Flink计算框架概述
    Flink是一个针对流数据和批数据的分布式处理引擎,主要用Java代码实现。目前,Flink主要还是依靠开源社区的贡献来发展的。对于Flink,其处理的数据主要是流数据,批数据只是流......
  • 【Flink】关于ParameterTool
    1.ParameterTool简介ParameterTool是Flink提供的读取程序启动参数,配置文件,环境变量以及Flink自身配置参数等配置的一个工具类。2.ParameterTool使用实例2.1从启动参数......
  • flink cdc 读取mysql数据
    flinkcdc版本:1.14.0mysql版本:5.7 1、开启MySQL中binlog日志修改我们的配置文件my.cnf,增加:server_id=1log_bin=mysql-binbinlog_format=ROWexpire_logs_days=30......
  • JRC Flink流作业调优指南
    作者:京东物流康琪本文综合ApacheFlink原理与京东实时计算平台(JRC)的背景,详细讲述了大规模Flink流作业的调优方法。通过阅读本文,读者可了解Flink流作业的通用调优措施,并应用......
  • 大数据技术-Flink
    概述ApacheFlink是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态的计算Unboundedstreams(无界流)有一个起点,但没有定义的终点。它们不会终止,而且会源源不......