IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Flink入门 -> 正文阅读

[大数据]Flink入门

1.定义

核心是用java和scala编写的框架和分布式处理引擎java api scala api,用于对无界(实时流数据)和有界数据流(离线数据也称为批量数据处理)进行有状态计算

2.数据过程

处理数据过程抽象为三个过程:source ->Transform -> Sink

3.架构设计

在这里插入图片描述

4.相关术语

物理部署层-deploy层:负责解决Flink的部署模式问题,
Runtime核心层:是Flink分布式计算框架的核心实现层,负责对上层不同接口提供基础服务。将DataStream和DataSet转成统一的可执行的Task Operator,达到在流式计算引擎下同时处理批量计算和流式计算的目的
API & Libraries层:负责更好的开发用户体验,包括易用性、开发效率、执行效率、状态管理等方面,Flink同时提供了支撑流计算和批处理的接口,同时在这基础上抽象出不同的应用类型的组件库,

5.运行模式

三种运行模式区分点:集群生命周期和资源隔离保证,应用程序的main()方法是在客户端还是在集群上执行
本地运行模式::一个机器启动一个进程的多线程来模拟分布式计算。
standalone模式:运行过程:完全独立的Flink集群的模式,各个环节均Flink自己搞定。并没有yarn、mesos的统一资源调度平台。
集群运行模式:Flink Session 集群(会话模式)、Flink Job 集群(per-job模式)、Flink Application 集群(应用模式)
三种运行模式:
Flink Session 集群(会话模式):
集群生命周期:在 Flink Session 集群中,客户端连接到一个预先存在的、长期运行的集群,该集群可以接受多个作业提交。
资源隔离:TaskManager slot 由 ResourceManager 在提交作业时分配,并在作业完成时释放。如果 TaskManager 崩溃,则在此 TaskManager 上运行 task 的所有作业都将失败,隔离性差。
在这里插入图片描述

Flink Job 集群(per-job模式):
集群生命周期:在这里客户端首先从集群管理器请求资源启动 JobManager,然后将作业提交给在这个进程中运行的 Dispatcher。然后根据作业的资源请求惰性的分配 TaskManager。一旦作业完成,Flink Job 集群将被拆除。
资源隔离:JobManager 中的致命错误仅影响在 Flink Job 集群中运行的一个作业
工作流程说明:多个不同的FlinkJob向各自由统一资源管理器(Yarn)生成的专用Flink Session会话上提交作业,由作业所属的FlinkSession管理自己的Flink作业。
在这里插入图片描述

Flink Application 集群(应用模式):
集群生命周期:集群是与Flink作业执行直接相关的运行模式,并且 main()方法在集群上而不是客户端上运行。
提交作业是单步骤过程:
无需先启动 Flink 集群,然后将作业提交到现有的 session 集群。
而是,将应用程序逻辑和依赖打包成一个可执行的作业 JAR 中,由入口机客户端提交jar包和相关资源到hdfs当中。
然后由调度启动的集群当中JobManager来拉取已由上一步上传完成的运行代码所需要的所有资源。如果有JobManager HA设置的话,将会同时启动多个JobManager作HA保障,此时将面临JobManager的选择,最终由一个胜出的JobManager作为Active进程推进下边的执行。
并由运行JobManager进程的集群入口点节点机器,负责调用 main()方法来提取 JobGraph,即作为用户程序的解析和提交的客户端程序与集群进行交互,直到作业运行完成。
另外,如果一个main()方法中有多个env.execute()/executeAsync()调用,在Application模式下,这些作业会被视为属于同一个应用,在同一个集群中执行
该模式也允许我们像在 Kubernetes 上部署任何其他应用程序一样部署 Flink 应用程序。
资源隔离:在 Flink Application 集群中,ResourceManager 和 Dispatcher 作用于单个的 Flink 应用程序,相比于 Flink Session 集群,它提供了更好的隔离。
总结:
本地布署模式:demo、代码测试场景。
Session模式:集群资源充分、频繁任务提交、小作业居多、实时性要求高的场景。(该模式较少)
Per-Job模式:作业少、大作业、实时性要求低的场景。
Application模式:实时性要求不太高、安全性有一定要求均可以使用,普遍适用性最强

6.运行流程

由两种类型的进程组成,一个 JobManager 和一个或者多个 TaskManager。
在这里插入图片描述

7.yarn模式提交任务的工作流程

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-02 11:26:45  更:2021-09-02 11:28:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:20:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码