2024.2.19 阿里云Flink

一 、Flink基本介绍

Spark底层是微批处理 , Flink底层则是实时流计算

流式计算特点:

数据是源源不断产生,两大问题,乱序和延迟

Stateful:有状态

Flink的三个部分

Source:Transactions , logs ,iot ,clicks
Transformation: 事件驱动 , ETL , 批处理
Sink : 输出 HDFS ,Kafka

Flink的特性

支持高吞吐, 低延迟,高性能的流处理
支持带有事件时间的窗口操作。
支持有状态计算的exactly-once语义
支持Checkpoint实现容错
支持具有Backpressure背压功能的持续流模型
支持流处理和批处理
在JVM内部实现了内存管理

四大基石:

time,window,checkpoint,容错

二、 Flink基础架构

Flink作业运行流程

课上记录:

JobManger:管理众多TaskManager。

TaskManger:执行具体的任务,定时向JobManager汇报心跳,任务执行状态。

Slot槽位:物理资源,任务运行的具体场所

用户提交Flink程序得到jobclient,经过jobclient处理,解析,优化提交到jobManager,最后由TaskManager运行task.

JobClient是Flink程序与JobManager交互的桥梁,主要负责接收程序,解析程序的执行计划,优化程序的执行计划,然后提交计划到JobManager,在Flink中主要有三类计划Operator.

Source : 数据源操作,比如文件,socket,Kafka等.

Transformation: 数据转换操作,比如map, flatmap, reduce等算子.

Sink : 数据存储操作, 数据存储到HDFS,Mysql,Kafka等.

Flink模块

核心:DataStream API

FlinkSQL: SQL

图计算:Gelly

机器学习:FlinkML

Flink可以运行在多种集群下:

  • Local(本地)

一个进程模拟主节点和从节点。

  • Standalone(独立)

主节点和从节点是两个进程,他们是独立的。

  • Flink on Yarn(生产使用)

Flink专注于任务的分配和任务的管理,Yarn专注于资源的分配

Spark:cluster、client,Driver进程运行的地方不一样。

Flink On Yarn有三种模式,分别是:

session模式:session,会话,因此也称之为会话模式(Spark中没有的模式)。开发测试使用,生产不能用

per-job模式:Job分离模式(类似于Spark中的Client模式)。

application模式:application,应用,也称之为应用模式(类似于Spark中的Cluster模式)。

会话模式,就是在Yarn会动态初始化一个Flink集群(Flink Yarn-session),这个集群会随着会话的存在而存在,会随着会话的停止而消失。

也就是说,如果我们要启动一个session的话,要分为2步

也称Job分离模式,和Spark的client类似。

在提交任务的时候,Yarn会创建一个Flink集群,这个集群是这个任务专属的。待任务运行完之后,集群就会销毁。

所有任务提交都一样。

相关推荐
Lorin 洛林3 分钟前
Hadoop 系列 MapReduce:Map、Shuffle、Reduce
大数据·hadoop·mapreduce
DolphinScheduler社区19 分钟前
大数据调度组件之Apache DolphinScheduler
大数据
SelectDB技术团队19 分钟前
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
大数据·数据库·数据仓库·数据分析·doris
panpantt3211 小时前
【参会邀请】第二届大数据与数据挖掘国际会议(BDDM 2024)邀您相聚江城!
大数据·人工智能·数据挖掘
青云交1 小时前
大数据新视界 -- 大数据大厂之 Impala 性能优化:跨数据中心环境下的挑战与对策(上)(27 / 30)
大数据·性能优化·impala·案例分析·代码示例·跨数据中心·挑战对策
soso19682 小时前
DataWorks快速入门
大数据·数据仓库·信息可视化
The_Ticker2 小时前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
java1234_小锋2 小时前
Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
大数据·elasticsearch·jenkins
Elastic 中国社区官方博客2 小时前
Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
我的运维人生2 小时前
Elasticsearch实战应用:构建高效搜索与分析平台
大数据·elasticsearch·jenkins·运维开发·技术共享